用Swift在Spritekit游戏中实现iAd



我似乎无法在SpriteKit游戏中的Swift应用程序中加载iAd横幅。。。我在谷歌上搜索了一段时间,什么都没有。。。。它根本不会进行网络调用来加载广告…我已经实现了所有必要的调用,并设置了代理,但运气不佳。。。

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    println("Failed to load ad")
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
    println("Loaded Ad")
    //now show the ad
    //set position off-screen
    banner.frame.origin.y = screenHeight
    banner.hidden = false

}
func createAds() {

    //create ad to allow it to load
    let adBanner = ADBannerView(frame: CGRectMake(0, 0, screenWidth, 50))
    adBanner.delegate = self
    adBanner.center = CGPointMake(screenWidth/2, 25)
    adBanner.hidden = true

    //add to screen
    self.view?.addSubview(adBanner)

    println("Created Ad")

}

func hideAds() {

}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
    return true
}

然后我只需在游戏开始时调用createAds()方法,然后在屏幕顶部显示一个白色矩形("0,0","quote,quote,it zero-zero-a the top"?)

你需要这样做(在GameViewController.swift中):

override func viewDidLoad() {
super.viewDidLoad()
self.canDisplayBannerAds = true
}
func bannerViewActionShouldBegin(banner: ADBannerView!,    willLeaveApplication willLeave: Bool) -> Bool {
    return true
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    NSLog("error!")
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
}

您还需要导入iAd并将ADBannerViewDelegate添加到GameViewController类

最新更新