ios - iAd 在 SpriteKit 中使用 Swift

标签 ios swift sprite-kit xcode6 iad

我正在开发一个应用程序并希望包括 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/

相关文章:

iOS 应用剪辑 : How Can I create profile for it?

ios - 如何连接 UITableVC 中制作的按钮以在 Story Board 中显示单独的 View

ios - 如何更改 Storyboard的大小?

sprite-kit - 如何在 tvOS (AppleTV) 上运行的 View Controller 中设置按钮的初始焦点?

swift - 如何删除具有特定名称 spritekit 的所有节点

ios - UIGestureRecognizer 和 UITextView

ios - 隐藏在图像后面的容器的程序化屏幕截图

ios - 在 setImage : 上分配的大量内存

ios - SplitView Xcode7 iOS9 - iPhone 上的 DetailViewController 中缺少后退按钮

ios - Sprite 套件碰撞 : ignore transparency?