2016-04-10 21 views
0

私はXcode 7.3、Swift、SpriteKit、AdMobを使用しています。 インタースティシャル広告を表示しようとしていますが、リクエストがどれくらい待たされても、self.interstitial.isReadyは常にfalseです。ここに私のコードです:AdMobインタースティシャル広告が「準備完了」になることはありません

import UIKit 
import SpriteKit 
import GoogleMobileAds 

class GameViewController: UIViewController { 

    var interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910") 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let request = GADRequest() 
     // Requests test ads on test devices. 
     request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"] 
     self.interstitial.loadRequest(request) 
     } 
    func displayAd() { 
     print(self.interstitial.isReady) 
     if self.interstitial.isReady { 
      self.interstitial.presentFromRootViewController(self) 
     } 
    } 
} 

私はGameViewController().displayAd()を呼び出しています。 interstitial.isReadyは決して真ではないので、常にfalseを出力します。 *考えられる問題 - 間違ったテストadUnitIdを使用しているか、request.testDevicesが正しいものに設定されていない可能性があります。

なぜこの要求は満たされないのですか?私はそれを修正し、後でこれを読んで人のために

答えて

0

、二つの問題がありました:

I私は、そうrequest.testDevicesはさらに何

に設定すべきではない、actualy広告を使用していないがGameViewController().displayAd()に電話して、GameViewControllerの新しいインスタンスを作成しています。元のものにする必要があります。これを避けるため、私はGameViewController'sを参照した変数を作りました。 variable.displayAd()

関連する問題