在Swift SpriteKit场景中显示Admob插页式广告

我想知道如何在展示我的GameOverScene时设置Admob插页式广告。 我应该怎么做才能在游戏结束时才显示广告? 而我如何在Swift中实现呢?

我指的是这篇文章如何使用swift,spritekit和xcode调用admob插页式广告? 但我想知道如何在场景之间调用广告。

编辑这里是我用来展示广告的代码

class GameViewController: UIViewController, GADInterstitialDelegate { var interstitial = GADInterstitial() var intersitialRecievedAd = false let defaults = NSUserDefaults.standardUserDefaults() override func viewDidLoad() { super.viewDidLoad() interstitial.delegate = self self.interstitial = createAndLoadAd() let timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: "checkIfAdIsToBeDisplayed:", userInfo: nil, repeats: true) //Scene implementation, boring stuff, got nothing to do with the ads... ... } func checkIfAdIsToBeDisplayed(timer:NSTimer) { if defaults.boolForKey("adToBeShown") == true && intersitialRecievedAd == true { showInterstitial() defaults.setBool(false, forKey: "adToBeShown") intersitialRecievedAd = false } else { } } func interstitialDidReceiveAd(ad: GADInterstitial!) { intersitialRecievedAd = true } func createAndLoadAd() -> GADInterstitial { var ad = GADInterstitial(adUnitID: "...") ad.delegate = self let request = GADRequest() request.testDevices = ["..."] ad.loadRequest(request) return ad } func showInterstitial(){ if self.interstitial.isReady { self.interstitial.presentFromRootViewController(self) self.interstitial = createAndLoadAd() } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Release any cached data, images, etc that aren't in use. } override func prefersStatusBarHidden() -> Bool { return true } } 

这段代码使用一个定时器来不断的检查gameOverScene是否被呈现。 当呈现gameOverScene时,我将true赋予"adToBeShown"布尔值。 这不是最好的方法,所以有人告诉我如何在场景呈现时直接调用广告?

为什么不使用NSNotificationCenter或委托调用showInterstitial()。

例如

在gameViewController中添加这个viewDidLoad

  NSNotificationCenter.defaultCenter().addObserver(self, selector: "showInterstitial"), name:"showInterAdKey", object: nil); 

当你想显示你使用的场景的广告

  NSNotificationCenter.defaultCenter().postNotificationName("showInterAdKey", object: nil) 

你也可以使用像我发布在github上的帮助器,这使得这更容易,你的ViewController保持干净https://github.com/crashoverride777/Swift-2-iAds-and-AdMob-Helper

您还可以通过admob网站限制admob显示插页式广告的频率。 在您的插页式广告设置中,可以select更改广告的出现频率。