Руководство по миграции на версию 6
Важно
Обязательно обновите версии используемых адаптеров на актуальные (Медиация Яндекса и адаптеры для сторонних медиационных сетей). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.
Ручная инициализация
Изменился процесс ручной инициализации SDK. Теперь при инициализации SDK необходимо передавать коллбэк в метод MobileAds.initialize()
.
MobileAds.initialize(this) {
// now you can use ads
}
MobileAds.initialize(this, () -> {
// now you can use ads
});
Баннеры
Класс AdSize
переименован в BannerAdSize
. Удалены методы fixedSize(int width, int height)
, flexibleSize(int width, int maxHeight)
, stickySize(int width)
.
Используйте методы в зависимости от типа рекламного объявления:
Для создания адаптивного sticky-баннера — метод BannerAdSize.stickySize(Context context, int width)
.
Адаптивный sticky-баннер — небольшое, автоматически обновляемое рекламное объявление, которое располагается внизу или вверху экрана приложения.
Баннер не перекрывает основной контент приложения и часто используется в приложениях-играх.
Высота sticky-баннера определяется автоматически, адаптируясь под размер экрана устройства и не превышает 15% высоты экрана.
Важно
В адаптивном sticky-баннере с версии 6.0.0 появилось автообновление.
Если у вас ранее было реализовано автообновление для sticky-баннера, его следует отключить.
Для создания адаптивного inline-баннера — метод BannerAdSize.inlineSize(Context context, int width, int maxHeight)
.
Адаптивный inline-баннер — гибкий формат баннерной рекламы, обеспечивающий максимальную эффективность за счет оптимизации размера рекламы для каждого устройства.
Высота баннера подбирается автоматически и может достигать высоты экрана устройства.
Как правило, такой формат используется в приложениях-лентах или там, где допустимо обеспечить основной фокус на рекламе.
Для обратной совместимости вместо fixedSize(int width, int height)
был добавлен метод fixedSize(Context context, int width, int height)
, однако его использование не рекомендуется. Используйте inlineSize(Context context, int width, int maxHeight)
или stickySize(Context context, int width)
. В SDK 6.0.0 высота баннера рассчитывается автоматически и известна до отправки запроса рекламы. Эту высоту можно использовать для верстки экрана.
Реклама с вознаграждением
Был изменен подход к созданию и загрузке рекламы. Теперь есть объект-загрузчик RewardedAdLoader
, который занимается загрузкой рекламных объявлений, и объект рекламы RewardedAd
, получаемый с помощью методов обратного вызова загрузчика RewardedAdLoadListener
.
Подробнее ознакомиться с новым апи можно в справочнике SDK.
Загрузка рекламы |
SDK 5 Один объект на загрузку и показ рекламного объявления: Kotlin
Java
SDK 6 Загрузчик После загрузки рекламного объявления (вызов метода Kotlin
Java
|
Показ рекламы |
SDK 5 Перед показом нужно проверить, загружена ли реклама. Kotlin
Java
SDK 6 Проверка, загружена ли реклама, не требуется. Реклама готова к показу после получения экземпляра Для отображения необходимо передать Activity: Kotlin
Java
|
Рекламный объект |
SDK 5 Класс, объединяющий в себе загрузку и показ одного рекламного объявления. SDK 6 Инерфейс загруженного рекламного объявления. Добавился метод получения информации о рекламном объявлении Kotlin
Java
|
Методы обратного вызова |
SDK 5 Один интерфейс методов обратного вызова, объединяющий в себе события загрузки и показа: Kotlin
Java
SDK 6 Интерфейс Удалены методы Добавлен метод Kotlin
Java
|
Очистка рекламного объекта |
SDK 5 Необходимо вызвать SDK 6 Метод Для очистки рекламного объекта необходимо передать Kotlin
Java
|
Межстраничная реклама
Был изменен подход к созданию и загрузке рекламы. Теперь есть объект-загрузчик InterstitialAdLoader
, который занимается загрузкой рекламных объявлений, и объект рекламы InterstitialAd
, получаемый с помощью методов обратного вызова загрузчика InterstitialAdLoadListener
.
Подробнее ознакомиться с новым апи можно в Справочнике SDK.
Загрузка рекламы |
SDK 5 Один объект на загрузку и показ рекламного объявления: Kotlin
Java
SDK 6 Загрузчик После загрузки рекламного объявления (вызов метода Kotlin
Java
|
Показ рекламы |
SDK 5 Kotlin
Java
SDK 6 Проверка, загружена ли реклама, не требуется. Реклама готова к показу после получения экземпляра Для отображения необходимо передать Activity: Kotlin
Java
|
Рекламный объект |
SDK 5 Класс, объединяющий в себе загрузку и показ одного рекламного объявления. SDK 6 Инерфейс загруженного рекламного объявления. Добавлен метод получения информации о рекламном объявлении Kotlin
Java
|
Методы обратного вызова |
SDK 5 Один интерфейс методов обратного вызова, объединяющий в себе события загрузки и показа: Kotlin
Java
SDK 6 Интерфейс Удалены методы Добавлен метод Kotlin
Java
|
Очистка рекламного объекта |
SDK 5 Необходимо вызвать SDK 6 Метод Для очистки рекламного объекта необходимо передать Kotlin
Java
|
App Open Ad
Добавлен новый формат рекламных объявлений — App Open Ad. Подробнее о нем можно узнать в разделе Реклама при открытии приложения.
Медиация Яндекса
Важно
Обязательно обновите версии используемых адаптеров на актуальные (Медиация Яндекса и адаптеры для сторонних медиационных сетей). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.
Новые версии адаптеров
Актуальные версии адаптеров для медиации Яндекса (на момент выхода версии SDK 6.0.1):
"com.yandex.ads.mediation:mobileads-adcolony": "4.8.0.6",
"com.yandex.ads.mediation:mobileads-applovin": "11.11.2.0",
"com.yandex.ads.mediation:mobileads-chartboost": "9.3.1.0",
"com.yandex.ads.mediation:mobileads-google": "22.2.0.0",
"com.yandex.ads.mediation:mobileads-inmobi": "10.5.5.0",
"com.yandex.ads.mediation:mobileads-ironsource": "7.4.0.0",
"com.yandex.ads.mediation:mobileads-mintegral": "16.4.71.1",
"com.yandex.ads.mediation:mobileads-mytarget": "5.18.0.0",
"com.yandex.ads.mediation:mobileads-pangle": "5.3.0.4.1",
"com.yandex.ads.mediation:mobileads-startapp": "4.11.0.2",
"com.yandex.ads.mediation:mobileads-tapjoy": "13.1.2.0",
"com.yandex.ads.mediation:mobileads-unityads": "4.8.0.0",
"com.yandex.ads.mediation:mobileads-vungle": "6.12.1.3",
Актуальные версии адаптеров для сторонних медиационных платформ (на момент выхода версии SDK 6.0.1):
"com.yandex.ads.adapter:admob-mobileads": "6.0.1.0",
"com.yandex.ads.adapter:ironsource-mobileads": "6.0.1.0"
Переименование адаптера Google AdMob (ex. AdMob)
Артефакт com.yandex.ads.mediation:mobileads-admob
был переименован в com.yandex.ads.mediation:mobileads-google
.
Если вы используете единую сборку медиации Яндекса, ничего делать не нужно. В случае ручного подключения адаптеров необходимо заменить gradle-зависимость вашего проекта.
SDK 5
|
SDK 6
|
Полные примеры интеграции можно посмотреть здесь:
-
Ссылка на github.