swift - 使用 Sprite Kit 在 Swift 中隐藏或显示 Google Ad View

标签 swift sprite-kit adsense

在我的游戏中,我希望在主菜单场景和游戏结束场景中有一个 Google 横幅 View 。这是我在 GameViewController 中的内容:

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()

当我运行它时它启动正常,但是当我按下播放时它崩溃并显示: fatal error :在展开可选值时意外发现 nil。这没有多大意义,因为它不可能为零,因为我知道有一个广告横幅,对吧?我做错了什么。先感谢您。

-文尼

最佳答案

您的显示横幅功能可能存在错误。尝试去掉感叹号:

   self.googleBannerView!.hidden = false

如果横幅 View 不为零,则不需要展开

关于swift - 使用 Sprite Kit 在 Swift 中隐藏或显示 Google Ad View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977918/

相关文章:

ios - 如何让 Facebook 的自定义登录显示在我的 Main.storyboard 上,而不仅仅是在我的代码中

ios - 在 Swift 3 中使用带有管道分隔符的正则表达式来过滤匹配项

ios - 使用 SKReferenceNode 引用的 SpriteKit 场景未加载自定义类

android - AdMob 开始实现对 app-ads.txt 文件的支持

html - Google Adsense 响应式广告未显示

swift - 如何在 OS X 中通过字符串查询搜索文件/文件夹?

ios - CGAffineTransform:同时应用平移和缩放

swift - 我在哪里可以编写持续运行的代码?

ios - Tilemap 在横向时改变大小

adsense - 如何隐藏Adsense PUB代码?