我正在开发一个应用程序并希望包括 iAd。我设法添加了横幅广告,效果很好。但是我想要一个更大的添加来填充大部分屏幕而不是全屏。我使用 Benzene's Question and given solution from erdekhayser. 中的代码添加了 adBanner
Apple 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")
}
最佳答案
将 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)
关于ios - iAd 在 SpriteKit 中使用 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26418114/