【问题标题】:Google AdMobs's rewarded video only loads sometimesGoogle AdMob 激励视频有时只会加载
【发布时间】:2019-10-04 12:22:18
【问题描述】:

我正在尝试在我的应用中实施广告。目前我正在研究 Google Ad Mobs Rewarded Video Ads。我的问题是,在我第一次按下应该加载广告的按钮后,错误变为:

未处理的异常:PlatformException(ad_not_loaded, 奖励视频显示失败,未加载广告,null)

被抛出,但如果我再次按下它会正常工作。我附上了一些相关的代码

设置定位信息、加载广告并创建监听器:

  @override
  void initState() {

    MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
        keywords: <String>['flutterio', 'beautiful apps'],
        contentUrl: 'https://flutter.io',
        childDirected: false,
    );

    RewardedVideoAd.instance.load(
        targetingInfo: targetingInfo,
        adUnitId: RewardedVideoAd.testAdUnitId);

    RewardedVideoAd.instance.listener =
        (RewardedVideoAdEvent event, {String rewardType, int rewardAmount}) {
      if (event == RewardedVideoAdEvent.rewarded) {
        Navigator.push(
                      context,
                      this.route);
      }
      else if(event == RewardedVideoAdEvent.failedToLoad){
        Navigator.push(
                      context,
                      this.route);
      }
    };
    super.initState();
  }

启动广告的Button(位于同一类的build方法中):

              GestureDetector(
                child: AdButton(theme.wopGH, "Gratis spielen"),
                onTap: () {
                  RewardedVideoAd.instance.show();
                },
              ),

【问题讨论】:

    标签: flutter admob rewardedvideoad admob-rewardedvideoad firebase-admob


    【解决方案1】:

    您的按钮应仅在广告已加载时启用。在显示它之前,您必须等待它加载并且需要几秒钟。 在 initState 上,您应该为您的按钮分配一个状态,这样它将被禁用。 并且当广告加载时,你应该设置状态来启用它。

    if (event == RewardedVideoAdEvent.loaded) {
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多