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

Внимание.

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

  1. Подключение баннера
  2. Пример работы с баннерной рекламой

Подключение баннера

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

    import 'package:yandex_mobileads/mobile_ads.dart';
    Скопировано
  2. В конструкторе или initState виджета, в котором будет расположен баннер, создайте объект класса BannerAd:

    final banner = BannerAd(
      adUnitId: 'R-M-XXXXXX-Y',
      // Flex-size
      adSize: AdSize.flexible(width: screenWidth, height: bannerHeight),
      // Sticky-size
      adSize: AdSize.sticky(width: screenWidth),
      adRequest: AdRequest(),
      onAdLoaded: () { 
         /* Do something */
     },
     onAdFailedToLoad: (error) { 
         /* Do something */
     },
    );
    Скопировано
  3. После создания объекта класса BannerAd в методе build вашего виджета укажите виджет AdWidget, принимающий в себя объект баннера:

    AdWidget(bannerAd: banner)
    Скопировано
  4. Загрузка рекламы произойдет автоматически. При необходимости можно повторно вызвать load объекта баннера после первого вызова build.

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

Код демонстрирует создание и настройку объекта BannerAd:

import 'package:yandex_mobileads/mobile_ads.dart';

// ...

class BannerAdPage extends StatelessWidget {
  final banner = BannerAd(
    adUnitId: 'demo-banner-yandex',
    adSize: AdSize.sticky(width: screenWidth),
    adRequest: AdRequest(),
    onAdLoaded: () {
        /* Do something */ 
    },
    onAdFailedToLoad: (error) { 
        /* Do something */
    },
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Align(
        alignment: Alignment.bottomCenter,
        child: AdWidget(bannerAd: banner),
      ),
    );
  }
}
Скопировано

Если реклама подключена данным образом, после запуска приложения появится баннер:

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