我正在开发一款应用,并希望加入iAd。我设法添加了横幅广告,但效果很好。但是我想要一个更大的添加,填充大部分屏幕,但不是全屏。我使用Benzene's Question and given solution from erdekhayser.
中的代码添加了adBannerApple iAd Documentation (Page 3)
我上面引用的链接来自苹果文档,苹果将iAd称为MREC广告。这就是我想要的。我无法弄清楚如何创建和添加一个。我曾尝试调整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 :(得分: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)
}