Подключение полноэкранной рекламы

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Полноэкранная реклама (Interstitial) — настраиваемое объявление, отображаемое на весь экран и реагирующее на нажатие.

Создание и показ InterstitialAd

  1. Добавьте импорт:

    import 'package:yandex_mobileads/mobile_ads.dart';
    Скопировано
  2. Создайте объект класса InterstitialAd. Объект может быть создан только асинхронно:

    final ad = await InterstitialAd.create(
      adUnitId: 'R-M-XXXXXX-Y',
      onAdLoaded: () { 
         /* Do something */
      },
      onAdFailedToLoad: (error) { 
         /* Do something */
     },
    );
    Скопировано
  3. После создания объекта класса InterstitialAd рекламу необходимо загрузить. Для загрузки рекламы используйте метод load, принимающий в себя опциональный объект AdRequest:

    await ad.load(adRequest: AdRequest());
    Скопировано

    Можно дождаться загрузки рекламы асинхронно с помощью ключевого слова await. В случае ошибки загрузки произойдет вызов onAdFailedToLoad и ожидание будет прервано.

  4. Загрузка полноэкранной рекламы происходит в фоновом потоке сразу после вызова метода load. Чтобы показать полноэкранную рекламу, необходимо вызвать метод show:

    await ad.show();
    Скопировано

    Можно дождаться начала показа рекламы асинхронно.

  5. Также можно дождаться конца показа рекламы с помощью асинхронного метода waitForDismiss:

    await ad.waitForDismiss();
    Скопировано

Пример работы с полноэкранной рекламой

Код демонстрирует создание и настройку объекта InterstitialAd, загрузку и отображение полноэкранной рекламы:

Future<void> showInterstitialAd() async {
  final ad = await InterstitialAd.create(
    adUnitId: 'demo-interstitial-yandex',
    onAdLoaded: () { 
        /* Do something */
    },
    onAdFailedToLoad: (error) { 
        /* Do something */
    },
  );
  await ad.load(adRequest: AdRequest());
  await ad.show();
  await ad.waitForDismiss();
}
Скопировано

Если реклама подключена данным образом, при вызове showInterstitialAd появится рекламный блок.

Чтобы посмотреть, как реклама будет отображаться в приложении, используйте демонстрационный AdUnitId:
  • demo-interstitial-yandex