В моей игре я хотел бы, чтобы в главной сцене и в игре над сценой отображался значок баннера Google. Вот что я имею в GameViewController:Скрытие или отображение Google Ad View в Swift с комплектом спрайтов
override func viewWillLayoutSubviews(){
super.viewWillLayoutSubviews()
let skView = self.view as! SKView
googleBannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
googleBannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
googleBannerView.rootViewController = self
var request: GADRequest = GADRequest()
googleBannerView.loadRequest(request)
googleBannerView.frame = CGRectMake(0, skView.bounds.height - googleBannerView.frame.size.height, googleBannerView.frame.size.width, googleBannerView.frame.size.height)
self.view.addSubview(googleBannerView!)
if skView.scene == nil{
let mainMenuScene = MainMenuScene(size: skView.bounds.size)
mainMenuScene.scaleMode = SKSceneScaleMode.AspectFill
mainMenuScene.backgroundColor = UIColor.whiteColor()
skView.presentScene(mainMenuScene)
}
}
func showBanner(){
if googleBannerView != nil{
self.googleBannerView!.hidden = false
var request: GADRequest = GADRequest()
self.googleBannerView.loadRequest(request)
}
}
func hideBanner(){
println("hideBanner() called")
self.googleBannerView.hidden = true
}
В GameScene у меня есть это:
override init(size: CGSize) {
super.init(size: size)
let gameViewController = GameViewController()
gameViewController.hideBanner()
При запуске этого он запускается нормально, но когда я нажимаю играть он падает и говорит: фатальная ошибка : неожиданно найдено нуль при развертывании необязательного значения. Это не имеет большого смысла, потому что это не может быть ноль, потому что я знаю, что есть рекламный баннер, верно? Что я делаю неправильно. Заранее спасибо.
-Vinny
Привет. Спасибо, что ответили. К сожалению, ваше предложение не сработало. Проблема заключается в функции hideBanner(). Есть идеи? –
Я сам начинаю, поэтому мой ответ был не очень полезен, но когда дело доходит до этой ошибки, хороший способ найти ошибки при использовании опций - использовать инструкции if, чтобы убедиться, что ваш дополнительный параметр имеет какое-то значение или выводит дополнительные значения перед их использованием чтобы убедиться, что у них есть какая-то ценность внутри них. – Muhammad
Спасибо, что ответили. Оказывается, по какой-то причине рекламный баннер всегда равен нулю. Я знаю, почему, не так ли? Заранее спасибо. –