如何使用GADRewardBasedVideoAd



我想在我的应用程序中添加奖励广告,当用户观看广告视频时,我会给他一个奖励

我想做的是这样的事情在viewdidload中,我这样初始化:

 let rewardedVideo : GADRewardBasedVideoAd =    
  GADRewardBasedVideoAd.sharedInstance()
    rewardedVideo.delegate = self
    let request2 : GADRequest = GADRequest()
    request.testDevices = [kGADSimulatorID, "id_device"]
    rewardedVideo.load(request2, withAdUnitID: "id reward video from admob")

和以后在应用程序中,当用户决定播放视频广告时,我检查这个:

 if GADRewardBasedVideoAd.sharedInstance().isReady {
  GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self)
        }

问题是GADRewardBasedVideoAd.sharedInstance()。isReady总是没有ready

我该如何解决这个问题?

任何帮助都将不胜感激

___________________ 编辑

我添加了这个

   func rewardBasedVideoAd(_ rewardBasedVideoAd:  GADRewardBasedVideoAd, didFailToLoadWithError error: Error?) {
    print("error (error)")
}

和我可以看到错误:请求错误:No ad to show

我不知道,可能是我错过了一个配置

-------------- 编辑

解决方案:

像@Daniel Storm建议的,我必须为GADRewardBasedVideoAd配置第三方广告网络,但当我试图将AdColony和Applovin连接到admob时,它给我错误,不知怎的适配器它没有正确连接,我最终选择独立于admob集成chartboost,所以现在我有chartboost奖励视频和admob的横幅和插页广告

我添加了chartboost:

       Chartboost.start(withAppId: "appid configurad in https://dashboard.chartboost.com", appSignature: "signature in the same site", delegate: self)
       Chartboost.cacheRewardedVideo(CBLocationMainMenu)

      if(Chartboost.hasRewardedVideo(CBLocationMainMenu)){

            Chartboost.showRewardedVideo(CBLocationMainMenu)

你必须在AdMob.com上为GADRewardBasedVideoAd设置和使用第三方广告网络。

From rewards Video: Publishers Get Started:

奖励广告只能在第三方网络中使用已选择用于中介。

相关内容

  • 没有找到相关文章

最新更新