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

我试图做的是这样的
在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始终没有准备好

我该如何解决这个问题?

任何帮助将不胜感激

___________________编辑

我加了这个
   func rewardBasedVideoAd(_ rewardBasedVideoAd:  GADRewardBasedVideoAd, didFailToLoadWithError error: Error?) {
    print("error \(error)")
}

而且我可以看到错误:请求错误:无广告可显示

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

- - - - - - - 编辑

我使用的解决方案:

就像@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设置并使用第三方广告网络。

Rewarded Video: Publishers Get Started:

奖励广告仅可用于您拥有的第三方网络
选择进行调解。

关于ios - 如何使用GADRewardBasedVideoAd,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40207944/

10-09 01:27