Руководство по миграции на версию 8
Новая 8-я версия плагина Yandex Mobile Ads для Flutter вносит в API ряд изменений, направленных на упрощение интеграции и единообразие с нативными SDK.
Основные изменения
Класс MobileAds переименован в YandexAds.
Переименованы следующие свойства и методы:
|
SDK 7 |
SDK 8 |
|
|
|
|
|
|
Запрос рекламы
Класс AdRequestConfiguration удалён. Для настройки запроса используйте AdRequest — идентификатор рекламного места (adUnitId) задаётся в нём.
Параметры таргетинга (age, contextQuery, contextTags, gender, location) вынесены из AdRequest в отдельный класс AdTargeting.
|
Запрос рекламы |
SDK 7
SDK 8
|
Полноэкранные форматы: межстраничная реклама, реклама с вознаграждением и реклама при открытии приложения
Изменён подход к созданию загрузчиков и загрузке объявлений: конструктор загрузчика вызывается синхронно, а метод loadAd возвращает Future с уже загруженным объявлением.
Классы InterstitialAdLoadListener, RewardedAdLoadListener и AppOpenAdLoadListener удалены — вместо колбэков используйте результат loadAd и обработку ошибок.
|
Загрузка рекламы |
SDK 7 Асинхронное создание загрузчика с колбэками:
SDK 8 Синхронное создание загрузчика;
|
Те же правила применяются к RewardedAdLoader и AppOpenAdLoader.
Баннеры
Изменён подход к созданию и загрузке баннеров: конструктор больше не принимает adRequest и обработчики событий. Объявление загружается отдельным вызовом load(AdRequest). О ходе загрузки и событиях показа сообщают подписки на потоки loadStateStream и events.
|
Создание и загрузка баннера |
SDK 7
SDK 8
|
|
Уничтожение баннера |
SDK 7
SDK 8
|
Класс AdInfo
Структура класса AdInfo обновлена: поле adSize удалено, добавлены поля creatives, extraData и partnerText.
|
SDK 7 |
SDK 8 |
|
|
Удалено |
|
— |
|
|
— |
|
|
— |
|
Удалённые события
Больше не поддерживаются события onLeftApplication, onReturnedToApplication и onAdClose — соответствующие обработчики из кода нужно убрать.