在测试广告上使用Firebase Admob插件未触发展示事件?

时间:2018-10-21 19:10:06

标签: admob flutter

我在Flutter应用上实现了横幅广告,使用测试广告可以正常运行,但无法在侦听器中检测到“展示”事件。可以很好地检测到诸如“已加载”和“已打开”之类的其他事件,而不是“印象”事件。

Firebase上的

DebugView事件也不会显示自动收集的事件ad_query,ad_impression和ad_exposure。但是,它确实显示ad_click事件。

这是测试广告的正常行为吗?我只是确定要先使用真实的广告ID。

如果我的代码很重要,那么重试逻辑看起来不错吗?

  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();
  }

0 个答案:

没有答案