【问题标题】:How to seamlessly transition into Interstitial iAd in Swift?如何在 Swift 中无缝过渡到插页式 iAd?
【发布时间】:2015-01-12 21:09:04
【问题描述】:

因此,我用于显示插页式 iAd 的代码有效,但加载广告的速度很慢。当用户在我的 GameOver 场景并点击重试时,它会进行随机数检查,如果数字与我所说的匹配,它会使用 NSNotificationCenter 加载我的插页式 iAd。

 func interstitialAdChecker(){
    var randomAd = Int(arc4random() % 3)
    println(randomAd)

    if randomAd == 1 {
        NSNotificationCenter.defaultCenter().postNotificationName("showInterstitialAdsID", object: nil)
    }
}

在我的游戏结束场景中,当用户点击回放时,这是转换场景的代码:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)

        if self.nodeAtPoint(location) == self.replayButton {
            gameOverLogo.removeFromParent()
            replayButton.removeFromParent()
            yourScore.removeFromParent()
            highScore.removeFromParent()
            rateButton.removeFromParent()
            scoreBackground.removeFromParent()

            interstitialAdChecker()

            var scene = InstructionScene(size: self.size)
            let skView = view as SKView!
            skView.ignoresSiblingOrder = true
            scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)
            scene.scaleMode = .ResizeFill
            scene.size = skView.bounds.size
            skView.presentScene(scene, transition: transition)
        }
    }
}

在 InstructionScene 加载和 Interstitial iAd 显示之间有 1 到 3 秒的延迟,所以有人知道如何在用户点击重试时使其从底部无缝向上滑动吗? 1 - 3 秒的延迟意味着用户可能会开始游戏并在游戏过程中弹出广告,这并不好。谢谢!

【问题讨论】:

  • 尝试提前进行随机数检查,如果您需要展示广告,请这样做。
  • 我这样做了,但是在转换场景后显示广告的时间仍然存在延迟。我见过一些应用程序,当您点击重试时,会弹出一个插页式广告。

标签: swift sprite-kit iad


【解决方案1】:

您是使用模拟器还是实际设备进行测试?根据我的经验,如果您使用模拟器,则显示广告可能会有所延迟。

如果您在设备上进行测试,那么您应该尝试延迟场景转换,直到用户处理了插页式广告。您可以为广告的展示时间设置一个布尔值,这样您就不会过渡。然后,当用户取消广告时,就会发生转换。

【讨论】:

  • 我找到了一个让广告每次都预加载的解决方案,这就是问题所在。它必须在调用时加载广告造成延迟。
猜你喜欢
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多