2017-12-30 32 views
0

私は最初のAdMobコードをiOS向けに迅速に作成しています。テスト広告が読み込まれることはありません。 GameViewController.swiftに私の非常に簡単なコードがあります。Admob:インタースティシャル広告は決して準備ができません。

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") 
    } 

私にヒントを与えてもらえますか?

+0

広告がロードするための時間を確保するために別の関数にif文を移動してみてください。あなたはすぐにそれを呼び出しているので、ロードされていない可能性があります。単にボタンを設定して、アプリを開いてから数秒待ってみてください –

答えて

0

sleep(x)を使用しないでください!とにかく、delegatesを使用して、広告を表示する準備ができたらいつでも通知します。これと同じように:

// MARK: - GADInterstitialDelegate 

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

あなたinterstitialインスタンスのデリゲートを設定することを忘れないでください:

self.interstitial.delegate = self

関連する問題