如何使用 GADRewardBasedVideoAd
How to use 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 总是没有就绪
请问我该如何解决这个问题?
任何帮助将不胜感激
___________________Edit
我添加了这个
func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didFailToLoadWithError error: Error?) {
print("error \(error)")
}
我可以看到错误:请求错误:没有要显示的广告
我不知道可能是我错过了配置
----------------编辑
我使用的解决方案:
就像@Daniel Storm 建议的那样,我必须为 GADRewardBasedVideoAd 配置第三方广告网络但是当我尝试将 AdColony 和 Applovin 连接到 admob 时它给我错误,不知何故适配器它没有正确连接,我最终选择集成chartboost 独立于 admob,所以现在我有用于奖励视频的 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)
您必须在 AdMob.com 上为 GADRewardBasedVideoAd
设置和使用第三方广告网络。
来自Rewarded Video: Publishers Get Started:
Rewarded ads are only available from third-party networks that you've
selected for mediation.
我想在我的应用中添加奖励广告,当用户观看广告视频时我会给他奖励
我尝试做的是这样的 在 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 总是没有就绪
请问我该如何解决这个问题?
任何帮助将不胜感激
___________________Edit
我添加了这个
func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didFailToLoadWithError error: Error?) {
print("error \(error)")
}
我可以看到错误:请求错误:没有要显示的广告
我不知道可能是我错过了配置
----------------编辑
我使用的解决方案:
就像@Daniel Storm 建议的那样,我必须为 GADRewardBasedVideoAd 配置第三方广告网络但是当我尝试将 AdColony 和 Applovin 连接到 admob 时它给我错误,不知何故适配器它没有正确连接,我最终选择集成chartboost 独立于 admob,所以现在我有用于奖励视频的 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)
您必须在 AdMob.com 上为 GADRewardBasedVideoAd
设置和使用第三方广告网络。
来自Rewarded Video: Publishers Get Started:
Rewarded ads are only available from third-party networks that you've selected for mediation.