swift - 集成adMob : Unexpectedly found nil while unwrapping an optional value

标签 swift sprite-kit admob

我已从 iAd 切换到 adMob,但在集成横幅广告时遇到了困难。

当我运行代码时,出现 fatal error :展开可选值时意外发现 nil

这是我的代码:

      import GoogleMobileAds


  class GameViewController: UIViewController, GADBannerViewDelegate {

override func viewDidLoad() {
    super.viewDidLoad()
    let scene = GameScene(size: view.bounds.size)
    let skView =  view as! SKView
    skView.showsFPS = false
    skView.showsNodeCount = false
    skView.ignoresSiblingOrder = true
    scene.scaleMode = .ResizeFill
    skView.presentScene(scene)


    print("Google Mobile Ads SDK version: " + GADRequest.sdkVersion())
    var banner: GADBannerView!
   banner.delegate = self
   banner.adUnitID = " ca-app-pub-xxxxxxxxxxx/xxxxxxxxxx" //crashing on this line
    banner.loadRequest(GADRequest())

   }
}

我觉得我已经从 AdMob 网站正确遵循了这一点,但我很难弄清楚这个错误来自何处。其他人也遇到过这个问题吗?

最佳答案

  1. 您还没有在任何地方初始化您的banner,因此如果您想在界面构建器中创建它,您应该为其创建一个@IBOutlet,或以编程方式初始化它。这很可能是您的应用崩溃的原因。

    var banner: GADBannerView!
    banner = GADBannerView(frame: self.view.frame) // Initialized, with fullscreen frame
    
  2. adUnitID 不应以空格开头。

关于swift - 集成adMob : Unexpectedly found nil while unwrapping an optional value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259640/

相关文章:

ios - SKNode 现在显示在另一个类中

android - Admob 广告不显示,甚至不测试广告

ios - UIControlState,突出显示仅响应第二次点击/触摸

swift - 如果我设置父背景颜色,UIContainerView 不显示

ios - 使一个小的 UIImageView 易于被点击

ios - 如何从屏幕中间到任何地方生成随机图像?

objective-c - 将 SpriteKit SKScene 中的 2D 点覆盖SKScene 映射到 SceneKit SCNScene 中的 3D 点

ios - Admob 6.8.0 : manually remove, 隐藏或禁用横幅

android - Admob 广告未显示

ios - 从 url 下载数据时等待填充表格 View