Руководство по миграции на версию 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.