2014-10-17 81 views
1

我正在开发一款应用程序,并希望包含iAd's。我已经设法添加横幅广告,他们工作得很好。不过,我想要一个更大的添加,填充大部分屏幕,但不是全屏。我从Benzene's Question and given solution from erdekhayser.iAd在SpriteKit中使用Swift

Apple iAd Documentation (Page 3)

我上面已引用是从苹果文档和苹果指在IAD作为MREC广告的链接添加使用代码的adBanner。这是我想要的。我无法解决如何创建和添加一个。我尝试调整adBanner的大小,但仍然无法弄清楚。

任何帮助,将不胜感激

这是我的代码至今:

import UIKit 
import SpriteKit 
import iAd 
import Twitter 

var adBannerView: ADBannerView! 

class GameViewController: UIViewController, ADBannerViewDelegate { 

var scene: GameScene! 

func loadAds() { 

    adBannerView = ADBannerView(frame: CGRectZero) 
    adBannerView.delegate = self 
    adBannerView.hidden = true 
    view.addSubview(adBannerView) 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

     // Configure the view. 
     let skView = view as SKView 
     skView.showsFPS = false 
     skView.showsNodeCount = true 
     skView.showsPhysics = false 

     /* Sprite Kit applies additional optimizations to improve rendering performance */ 
     skView.ignoresSiblingOrder = true 

     /* Set the scale mode to scale to fit the window */ 
     scene = GameScene(size: skView.bounds.size) 
     scene.scaleMode = .AspectFill 

     skView.presentScene(scene) 

     //iAd 
     loadAds() 



} 

//iAd 
func bannerViewWillLoadAd(banner: ADBannerView!) { 


    println("Ad about to load") 

} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 

    adBannerView.center = CGPoint(x: adBannerView.center.x, y: view.bounds.size.height - view.bounds.size.height + adBannerView.frame.size.height/2) 

    adBannerView.hidden = false 
    println("Displaying the Ad") 

} 

func bannerViewActionDidFinish(banner: ADBannerView!) { 


    println("Close the Ad") 

} 

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

    //pause game here 


    println("Leave the application to the Ad") 
    return true 
} 

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 

    //move off bounds when add didnt load 

    adBannerView.center = CGPoint(x: adBannerView.center.x, y: view.bounds.size.height + view.bounds.size.height) 

    println("Ad is not available") 

} 
+0

请告诉我们你有什么样的代码迄今 – 2014-10-19 02:43:15

+1

添加的代码,我有这么远。希望你能帮到 – PoisonedApps 2014-10-20 05:36:19

+0

你有没有遇到过这种情况? – TerranceW 2015-06-18 20:30:13

回答

2

设置canDisplayBannerAds为true。

override func viewDidLoad() { 
super.viewDidLoad() 

    // Configure the view. 
    let skView = self.originalContentView as! SKView 

    loadAds() 

    self.canDisplayBannerAds = true // <-- 

    skView.showsFPS = false 
    skView.showsNodeCount = true 
    skView.showsPhysics = false 

    /* Sprite Kit applies additional optimizations to improve rendering performance */ 
    skView.ignoresSiblingOrder = true 

    /* Set the scale mode to scale to fit the window */ 
    scene = GameScene(size: skView.bounds.size) 
    scene.scaleMode = .AspectFill 

    skView.presentScene(scene) 

}

相关问题