2016-04-14 6 views
-1

私はspritekitのゲームにiadのバナーを含める方法に関するチュートリアルをWeb上のどこにでも見てきました。たとえば、私はこれを見ました:Swift SpriteKit iAdしかし、私はいくつかのエラー、新しいswift 2と速い1のためにprobalyを得ました。しかし、私はspritekitゲームにIADを含めるために何をすべきか説明できますか?前もって感謝します。Spritekit iAdをサポートする

+0

これは面白いかもしれません:https://developer.apple.com/news/?id=01152016a – Whirlwind

+0

昨日あなたの助けをもう一度感謝します。あなたは実際にiAdsでこれについて確かですか?私はこれについて言及している多くの人を見ました。これまでのところ、ニュースはこれについて非常に曖昧です。一部の人は、自分のアプリを宣伝したい開発者にしか影響しないと言います。 APIを含め、すべてが閉鎖されていると言う人もいます。 6月に自動化されたサービスを利用していると言う人もいます。 iAdを使って広告を表示するだけの新しいアプリをAppleが拒否することを実際には今実際にしていますか? (新しい広告を作成するためにアプリネットワークを使用しないでください)。 – crashoverride777

+0

iADが完全にシャットダウンしています。 – Loanb222

答えて

0

GameViewControllerにこのコードがあることを確認してください。私はちょうどこれをテストし、それは風景モードとポートレートモードで動作します。

class GameViewController: UIViewController, ADBannerViewDelegate { 

//-------------------- 
//-----iAd Banner----- 
//-------------------- 
var SH = UIScreen.mainScreen().bounds.height 
let transition = SKTransition.fadeWithDuration(0) 
var UIiAd: ADBannerView = ADBannerView() 

override func viewWillAppear(animated: Bool) { 
    let BV = UIiAd.bounds.height 
    UIiAd.delegate = self 
    UIiAd.frame = CGRectMake(0, SH + BV, 0, 0) 
    self.view.addSubview(UIiAd) 
} 

override func viewWillDisappear(animated: Bool) { 
    UIiAd.delegate = nil 
    UIiAd.removeFromSuperview() 
} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    UIView.beginAnimations(nil, context: nil) 
    UIView.setAnimationDuration(0.5) // Time it takes the animation to complete 
    UIiAd.alpha = 1 // Fade in the animation 
    UIView.commitAnimations() 
} 

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    UIView.beginAnimations(nil, context: nil) 
    UIView.setAnimationDuration(0.5) 
    UIiAd.alpha = 0 
    UIView.commitAnimations() 
} 

func showBannerAd() { 
    UIiAd.hidden = false 
    let BV = UIiAd.bounds.height 

    UIView.beginAnimations(nil, context: nil) 
    UIView.setAnimationDuration(0.5) // Time it takes the animation to complete 
    UIiAd.frame = CGRectMake(0, SH - BV, UIScreen.mainScreen().bounds.width, 0) 
    UIView.commitAnimations() 
} 

func hideBannerAd() { 
    UIiAd.hidden = true 
    let BV = UIiAd.bounds.height 

    UIView.beginAnimations(nil, context: nil) 
    UIView.setAnimationDuration(0.5) // Time it takes the animation to complete 
    UIiAd.frame = CGRectMake(0, SH + BV, UIScreen.mainScreen().bounds.width, 0) //Beginning position of the ad 
    UIView.commitAnimations() 
} 



//-------------------- 
//-----View Loads----- 
//-------------------- 
override func viewDidLoad() { 
    super.viewDidLoad() 
    //iAd Control 
    self.UIiAd.hidden = true 
    self.UIiAd.alpha = 0 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GameViewController.hideBannerAd), name: "hideadsID", object: nil) 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GameViewController.showBannerAd), name: "showadsID", object: nil) 
} 

クラスの宣言の外側に以下を追加します。あなたがどんなクラスに行くかは問題ではありません。グローバルであれば、どんなゲームシーンからでもアクセスできます。

//------------- 
//-----Ads----- 
//------------- 
func showAds() { 
    NSNotificationCenter.defaultCenter().postNotificationName("showadsID", object: nil) 
} 
func hideAds() { 
    NSNotificationCenter.defaultCenter().postNotificationName("hideadsID", object: nil) 
} 

そして、あなたはちょうどそれらを非表示にする「showAds()」関数または「hideAdsを()」を呼び出し、特定のシーンまたはたびに広告を表示したいとき。