1

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

我尝试做的是在 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,所以现在我有用于 resward 视频的 chartboost 和用于横幅和 intertitiel 的 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)
4

1 回答 1

2

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

来自奖励视频:发布商入门

激励广告仅适用于您选择用于中介的第三方网络。

于 2016-10-24T14:58:42.393 回答