【发布时间】:2016-07-31 17:26:02
【问题描述】:
我正在使用 Xcode 7.3、SpriteKit、Swift 和 AdMob。 我在显示 插页式 广告时遇到了很多麻烦 - 我也是刚刚被介绍给 GameViewController(我忘了这个文件甚至是项目的一部分,所以我可能没有正确使用它)。
这是我的 GameViewController.swift 的重要部分:
import UIKit
import SpriteKit
import GoogleMobileAds
class GameViewController: UIViewController {
var interstitial: GADInterstitial!
override func viewDidLoad() {
super.viewDidLoad()
self.interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
let request = GADRequest()
// Requests test ads on test devices.
request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]
self.interstitial.loadRequest(request)
//I deleted the code that starts up my first scene here to save space on this post
}
func displayAd() {
if self.interstitial.isReady {
self.interstitial.presentFromRootViewController(self)
}
}
}
如您所见,我删除了默认出现的覆盖函数,因为这些可能不是问题的一部分(它们仍然在我的项目中,不用担心)。
然后在我的应用程序中,在不同的 swift 文件中,我称之为:
GameViewController().displayAd()
我没有收到任何错误,但是当我运行应用程序并调用该行时,我收到了常见的 fatal error: unexpectedly found nil while unwrapping an Optional value 错误。如果我在 GameViewController 文件中调用 displayAd() 函数,则不会发生这种情况(但这并没有真正的帮助,因为那不是场景)。
关于我做错了什么有什么建议吗?如果您有正确设置此广告的提示,请告诉我我已经为此工作了好几个小时@_@。
谢谢!
【问题讨论】: