Admob:插页式广告从未准备好

时间:2017-12-30 23:06:44

标签: ios swift admob

我正在使用swift for iOS编写我的第一个Admob代码。我从来没有加载测试广告。这是我在GameViewController.swift中的非常简单的代码。

var interstitial: GADInterstitial!

override func viewDidLoad() {
    super.viewDidLoad()

    interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
    let request = GADRequest()
    request.testDevices = [kGADSimulatorID, "542C7C80-AEC2-464F-B673-D005953E9307"]
    interstitial.load(request)

    sleep(10)

    if interstitial.isReady{
      interstitial.present(fromRootViewController: self)
    }
    else{
      print("Ad not ready")
    }

很高兴给我一个提示。

1 个答案:

答案 0 :(得分:0)

不要使用sleep(x)!无论如何,只要广告准备好呈现,您就可以使用delegates通知您。像这样:

// MARK: - GADInterstitialDelegate

extension ViewController: GADInterstitialDelegate {
    func interstitialDidReceiveAd(_ ad: GADInterstitial) {
        ad.present(fromRootViewController: self)
    }
}

不要忘记设置interstitial实例的委托:

self.interstitial.delegate = self