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 を統合することを選択しました。だから今、私はリワードビデオ用の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)
4

1 に答える 1

2

GADRewardBasedVideoAdAdMob.comでサードパーティの広告ネットワークを設定して使用する必要があります。

リワードビデオから: パブリッシャーが始めましょう:

リワード広告は、メディエーション用に選択したサードパーティ ネットワークからのみ利用できます。

于 2016-10-24T14:58:42.393 に答える