iOS AdMob奖励视频

时间:2016-03-03 19:25:55

标签: ios swift admob

我正在尝试奖励用户使用AdMob观看视频。虽然我找不到关于这个主题的任何教程,但我在文档中找到了这两个类:

GADRewardBasedVideoAd

GADRewardBasedVideoAdDelegate

我已使用以下View Controller代码设置了GADRewardBasedVideoAd的显示:

class MarketController: UIViewController, GADRewardBasedVideoAdDelegate {


override func viewDidLoad() {
    super.viewDidLoad()

    GADRewardBasedVideoAd.sharedInstance().delegate = self
    let request = GADRequest()
    // Requests test ads on test devices.
    request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]
    GADRewardBasedVideoAd.sharedInstance().loadRequest(request, withAdUnitID: "ca-app-pub-3940256099942544/4411468910")
}



// MARK: Daily Reward Button Delegate

@IBAction func playVideoClicked() {
    if GADRewardBasedVideoAd.sharedInstance().ready {
        GADRewardBasedVideoAd.sharedInstance().presentFromRootViewController(self)
    }
}


// MARK: GADRewardBasedVideoAdDelegate

func rewardBasedVideoAdDidStartPlaying(rewardBasedVideoAd: GADRewardBasedVideoAd!) {
    MediaPlayer.pauseBackgroundMusic()
    print("Reward Video: Started")
}

func rewardBasedVideoAdDidClose(rewardBasedVideoAd: GADRewardBasedVideoAd!) {
    MediaPlayer.startBackgroundMusic()
    requestLoadAd()
    print("Reward Video: Complete")
}

func rewardBasedVideoAdWillLeaveApplication(rewardBasedVideoAd: GADRewardBasedVideoAd!) {
    requestLoadAd()
    print("Reward Video: Will leave application")
}

}

当我按下按钮触发“playVideoClicked”功能中的代码时,我只看到常规测试插页式广告(没有视频),并且永远不会调用“rewardBasedVideoDidStartPlaying”函数。当我关闭插页式广告时,会调用“rewardBasedVideoAdDidClose”函数。这是否意味着我做错了什么,或者AdMob是不是只显示测试视频?

另外,如何在AdMob开发者控制台中将此广告配置为奖励视频?

1 个答案:

答案 0 :(得分:2)

request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]更改为request.testDevices = [kGADSimulatorID],它应该有效。