Событие показа не было запущено с помощью плагина Firebase Admob, когда он был на тестовой рекламе? - PullRequest
0 голосов
/ 21 октября 2018

Я внедрил баннерную рекламу в свое приложение Flutter, и с помощью тестовой рекламы все отлично работает, за исключением того, что я не могу обнаружить событие «показа» в слушателе.Другие события, такие как «загруженный» и «открытый», обнаруживаются нормально, но не «впечатление».

События DebugView в Firebase также не показывают автоматически собранные события ad_query, ad_impression и ad_exposure.Однако он показывает событие ad_click.

Это нормальное поведение для тестовой рекламы?Я просто проверяю, прежде чем использовать реальный идентификатор объявления.

Мой код выглядит так, если это имеет значение, хорошо ли выглядит логика повторения?

  BannerAd _bannerAd;

  BannerAd createBannerAd() {
    return BannerAd(
      adUnitId: BannerAd.testAdUnitId,
      size: AdSize.smartBanner,
      targetingInfo: targetingInfo,
      listener: (MobileAdEvent event) {
        if (event == MobileAdEvent.failedToLoad) {
           // retry loading ad
          _loadAd(); 
          print("Ad Failed to load, retrying");
        }
        if (event == MobileAdEvent.impression) {
          print("Impression");
        }
        print("------BannerAd event :$event");
      },
    );
  }

  _loadAd() async {
    // duration to wait before showing ad
    var _duration = new Duration(seconds: 5);

    return new Timer(_duration, () {
      _bannerAd?.dispose();
      _bannerAd = createBannerAd()..load();
      _bannerAd..show();
    });
  }

  @override
  void initState() {
    super.initState();
    FirebaseAdMob.instance.initialize(appId: FirebaseAdMob.testAppId);
    _bannerAd?.dispose();
    // Run timer to show ad after certain delay
    _loadAd();
  }

  @override
  void dispose() {
    _bannerAd?.dispose();
    super.dispose();
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...