gpt4 book ai didi

ios - Admob 奖励视频只会出现一次然后必须重新启动应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 06:03:31 24 4
gpt4 key购买 nike

我已将 admob 奖励视频集成到我的应用中。

当应用启动并点击“观看视频”按钮时,奖励视频播放正常。

但是,如果我“关闭视频”然后尝试再次“观看视频”,它就不起作用了。

视频播放完毕后,如果我再次尝试“观看视频”,则无法正常工作。

视频好像打开过一次就打不开了。

所以在 SKScene 中我有:

 func videoAd() {

NotificationCenter.default.post(name: NSNotification.Name(rawValue: "loadAndShow3"), object: nil)
}

在 View Controller 中:

    func loadAndShow3() {

GADRewardBasedVideoAd.sharedInstance().delegate = self

GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self)

}

func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {


if GADRewardBasedVideoAd.sharedInstance().isReady {



GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self)
}


}


func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didRewardUserWith reward: GADAdReward) {

let oldCoin = UserDefaults.standard.integer(forKey: "COINSCORE")
let newCoin = oldCoin + 20
UserDefaults.standard.set(newCoin, forKey: "COINSCORE")
UserDefaults.standard.synchronize()

if let view = self.view as! SKView? {

if let scene3 = GameOverMenu(fileNamed: "Gameover") {

scene3.viewController = self
scene3.scaleMode = .aspectFill
view.presentScene(scene3)

scene3.coinLabel.removeFromParent()
scene3.createCoinScore()



}
}


}

在我的委托(delegate)中:

 let request = GADRequest()
GADRewardBasedVideoAd.sharedInstance().load(request, withAdUnitID: "ca-app-pub-3940256099942544/1712485313")

最佳答案

您需要为 GADRewardBasedVideoAd 实现委托(delegate)方法。

具体来说:

func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
print("Reward based video ad is closed.")
}

您应该在此处构建一个新的 GADRewardBasedVideoAd 并请求一个新广告。

关于ios - Admob 奖励视频只会出现一次然后必须重新启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com