我一直在寻找这个问题的答案,我在 Objective C 中找到了很多例子(谷歌开发者文档等),并在 swift 中找到了一些答案,但没有使用 spritekit,并且作为一个新手,我只是还没有无法弥补这些教程中的差距,将它们整合到我的项目中。老实说,我并不关心广告是否在应用程序启动时调用,或者游戏结束时调用,我只是很高兴能够调用广告期,尽管我想在游戏启动时调用是首选。
很确定我已经在 gameviewcontroller.swift 中正确设置了所有内容,但我不知道如何实际调用它。这是我的 gameviewcontroller.swift 中的代码:
import UIKit
import SpriteKit
import GoogleMobileAds
class GameViewController: UIViewController {
var interstitial : GADInterstitial!
func createAndLoadAd() -> GADInterstitial {
var ad = GADInterstitial()
ad.adUnitID = "ca-app-pub-4471013071748494/2980967718"
var request = GADRequest()
request.testDevices = [""]
return ad
}
除此之外...我还有这个 if 语句来调用广告,但我不知道它应该在哪里...或者它是否完整(在教程中,它在一个按钮中,但我需要它是自动的,自然的:
if (self.interstitial.isReady) {
self.interstitial.presentFromRootViewController(self)
self.interstitial = self.createAndLoadAd()
}
有人对此有经验吗?如果有人可以帮助我完成这个工作,让我知道上面的 if 语句放在哪里,或者是否还有更多事情需要做……我们将非常感谢您的帮助。谢谢。
好的,我开始了一个新项目(Swift 项目),即游戏项目
在游戏视图控制器中:
class GameViewController: UIViewController
{
var interstitial = GADInterstitial()
override func viewDidLoad()
{
super.viewDidLoad()
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene
{
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
let delayTime = dispatch_time(DISPATCH_TIME_NOW,
Int64(5 * Double(NSEC_PER_SEC)))
//Creation of the ad and its request
self.interstitial = GADInterstitial()
self.interstitial.adUnitID = "ca-app-pub-4798156420380453/7714267723"
var request = GADRequest()
// request.testDevices = [""]
self.interstitial.loadRequest(GADRequest());//The method u were missing
dispatch_after(delayTime, dispatch_get_main_queue())
{
self.showAd()
}
}
}
func showAd()
{
if (self.interstitial.isReady)
{
self.interstitial.presentFromRootViewController(self)//Whatever shows the ad
}
}
这是我的第一个快速代码,所以如果我做错了什么,请不要评判我
但是当我在大约 5 秒后吃午饭时,我看到了广告
这是你的例子。
我对 Swift 一点也不熟悉,
但您需要做的就是在取消插页式广告时获取插页式代理 -> 并请求下一个插页式广告,因此下次您将获得新的广告
有什么问题就尽管问吧!
附:不要忘记将 admob ID 更改为您的 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)