2016-04-14 20 views
-1

Ich habe überall im Web nach Tutorials gesucht, um iad Banner in mein Spritekit-Spiel einzubinden. Zum Beispiel habe ich mir folgendes angesehen: Swift SpriteKit iAd, aber ich habe ein paar Fehler bekommen, wahrscheinlich aufgrund der neuen swift 2 und swift 1. Aber könntest du erklären, was zu tun ist, um IAD in mein Spritekit-Spiel aufzunehmen? Vielen Dank im Voraus.Spritekit, das iAd unterstützt

+0

Vielleicht finden Sie das interessant zu lesen: https://developer.apple.com/news/?id=01152016a – Whirlwind

+0

Hey vielen Dank noch einmal für Ihre Hilfe gestern. Sind Sie sich bei iAds wirklich sicher? Ich habe viele Leute gesehen, die dies auf SO erwähnt haben. Bisher sind die Nachrichten dazu sehr vage. Einige sagen, es betrifft nur Entwickler, die ihre eigenen Apps bewerben möchten. Einige sagen, dass alles heruntergefahren wird, einschließlich der APIs. Manche sagen, dass wir im Juni einen automatischen Service bekommen. Tatsächlich ist es jetzt Fakt, dass Apple neue Apps ablehnen wird, die iAds verwenden, um nur Anzeigen zu schalten. (Verwenden Sie das App-Netzwerk nicht, um neue Anzeigen zu erstellen). – crashoverride777

+0

iAD wird komplett heruntergefahren. – Loanb222

Antwort

0

Stellen Sie sicher, dass Sie diesen Code in Ihrem GameViewController haben. Ich habe es gerade getestet und es funktioniert für Querformat und Hochformat.

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

Fügen Sie Folgendes außerhalb Ihrer Klassendeklarationen hinzu. Es spielt keine Rolle, zu welcher Klasse du gehst, solange es global ist, so dass du von jeder Spielszene darauf zugreifen kannst.

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

Und dann, wenn Sie Anzeigen in der bestimmten Szene zeigen wollen oder wann immer, rufen Sie einfach die „showAds()“ Funktion oder „hideAds()“, um sie zu verstecken.