gpt4 book ai didi

ios - 如何在 Interstitial 被解散之前释放场景?

转载 作者:行者123 更新时间:2023-11-28 15:35:47 28 4
gpt4 key购买 nike

所以我有一个使用插页式广告的应用程序。具体来说,它是一个用 Swift 编写的 SpriteKit 游戏。

我有代码设置,当用户在游戏结束场景中按下重播按钮时,会出现一个广告,然后它会变回游戏场景以重播游戏。现在我遇到的问题是,在显示插页式广告时场景会发生变化,有时这种情况发生的速度不够快,用户可以再次点击重启按钮,从而导致游戏崩溃。

有没有办法在调用广告时卡住屏幕并忽略任何点击?并且只在广告关闭后才改变场景?

重启按钮按下时的代码;

 if restartButton.contains(pointOfTouch) {
score = 0
ballMovementSpeed = 2
displayAd()
delay(2.0) {
self.restartScene()
}

对于 interstitialDelegate 的放置位置,我有点困惑。我正在尝试实现 func interstitialDidDismissScreen(ad: GADInterstitial!) {} 以触发更改回我的游戏场景,但当我关闭广告时没有任何反应。

我已经尝试将它放在 override func didMove(to view: SKScene){} 以及按下重启按钮时,但仍然无法正常工作。这就是我调用广告的方式

fun loadAndShow() {
myAd = GADInterstitial()
let requestI = GADRequest()
myAd.setAdUnitID("adID")
requestI.testDevices = [kGADSimulatorID, "test device"]
myAd.delegate = self
myAd.load(requestI)
}

func interstitialDidReceiveAd(_ ad: GADInterstitial) {
if (self.myAd.isReady) {
myAd.present(fromRootViewController: self)
}
}

最佳答案

您可以使用 admob 的委托(delegate)方法,这样当要显示插页式广告时,您可以删除重新启动按钮或设置条件,以便在显示广告时它不起作用。如果使用 isPaused bool 运行游戏,暂停游戏也很重要。 https://developers.google.com/admob/ios/ad-events

关于ios - 如何在 Interstitial 被解散之前释放场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44287559/

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