2016-04-25 11 views
1

私のゲームファイルGameSceneに、iAdのコードが表示されました。iAdをSpriteKitに追加して、シーンが変更されたときにiAdを無効にするにはどうすればよいですか?

func addiAd(){ 
    bannerView = ADBannerView(adType: .Banner) 
    bannerView.delegate = self 
    bannerView.hidden = true 
    bannerView.frame = CGRectOffset(bannerView.frame, 0.0, 0.0) 
    bannerView.center = CGPointMake(bannerView.center.x, 
    (view?.bounds.size.height)! - bannerView.frame.size.height/2) 
    view!.addSubview(bannerView) 
    print("iAd is working") 
} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    bannerView.hidden = false 
} 

func bannerViewActionDidFinish(banner: ADBannerView!) { 
    bannerView.removeFromSuperview() 
} 

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    bannerView.hidden = true 
} 

まあ、それはそれが動作するように最初に見えますが、ない完璧シーンは私のbannerViewが消えると実行が終わるまで、それは永遠に現れたところとどまるていませんGameOverSceneと呼ばれる他のゲームシーンファイルに移行したときからです。私はこれを無効にしたい私のコードは上に書かれていますか?私のソースコードでは、合計でadBannerビューをGameSceneGameOverSceneにそれぞれ設定します。エラーの私の前提は、私​​はGameViewControllerでそれらのコードを書かなかったことですが、私はそれについて確信しています。実装方法を教えて、どこに書かなければならないか教えてください。

+1

、Appleは –

答えて

1

iAdデリゲートメソッドでは、バナーのalphaプロパティを変更することができます。たとえば、次のように

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    bannerView.alpha = 1.0 
} 

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    bannerView.alpha = 0.0 
} 

そして、あなたはシーンを変更したりのiAdバナーは、あなたがそのhiddenプロパティを設定することができます表示されないことを確認するにしています。たとえば:bannerView.alpha = 0.0に変更bannerView.hidden = true

func hideBanner() { 
    // Call whenever you don't want the ADBannerView to be on screen 
    bannerView.hidden = true 
} 

func showBanner() { 
    // Call when you want the ADBannerView to be on screen 
    bannerView.hidden = false 
} 

また、これはあなたのaddiAd機能を更新するためにあなたを必要とします。

そして最後に、あなたはここにスーパーからのiAdバナーを削除すべきではない:あなたが知っているだけのよう

func bannerViewActionDidFinish(banner: ADBannerView!) { 
    bannerView.removeFromSuperview() 
} 
+0

おかげであなたの答えのためのiAdネットワーク6月30日を閉じています!私はもう1つの質問をすることができますか?表示されているときにバナービューを削除するxボタンがある方がいいでしょう。それを実現するための簡単なコードはありますか? – bagels

+0

@ryohei閉じるボタン用のカスタムUIButtonを作成し、ADBannerViewの隅に配置します。次に、タップされたときにUButtonがhideBanner関数を呼び出させます。 –

+0

ああ!クール!それのためのいくつかの組み込みコードがあったと思った!追加するだけのUIButton。そうですか。ご回答有難うございます :) – bagels

関連する問題