iAd在SpriteKit中使用Swift
问题描述:
我正在开发一款应用程序,并希望包含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")
}
答
设置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)
}
请告诉我们你有什么样的代码迄今 – 2014-10-19 02:43:15
添加的代码,我有这么远。希望你能帮到 – PoisonedApps 2014-10-20 05:36:19
你有没有遇到过这种情况? – TerranceW 2015-06-18 20:30:13