iAd未加载广告xcode7

时间:2015-09-18 04:33:19

标签: ios swift sprite-kit iad swift2

我在我的所有应用上使用相同的代码来显示iAd广告,但在下载xcode 7并将我的代码转换为swift2后,广告不再出现在我的设备或xcode模拟器上。有谁知道需要做出哪些改变?

import UIKit
import SpriteKit
import iAd
class GameViewController: UIViewController, ADBannerViewDelegate {

    var adBanner: ADBannerView? = ADBannerView()

    override func viewDidLoad() {
        super.viewDidLoad()

        adBanner?.delegate = self

        adBanner?.hidden = true

        self.canDisplayBannerAds = true     

    }

    func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
        adBanner?.hidden = true

    }

    func bannerViewDidLoadAd(banner: ADBannerView!) {
        adBanner?.hidden = false

    }

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

}

2 个答案:

答案 0 :(得分:0)

你正在混淆两种方法。有两种显示iAd横幅的方式。首先,让iAd知道你想要在你的视图控制器上显示横幅,让iAd完成其余的工作。这是通过调用以下方法完成的:

    self.canDisplayBannerAds = true     

第二种方法是首先加载横幅,然后手动将其添加到视图中。为此,首先使用所需类型初始化横幅并设置其委托:

var adBanner: ADBannerView? = ADBannerView(adType: ADAdType.Banner)
adBanner?.delegate = self

然后,当加载横幅时,我们必须将其添加到视图中,例如:

func bannerViewDidLoadAd(banner: ADBannerView!) {
    self.view.addSubview(banner)
}

在我添加到superview的横幅之前,无需更改hidden属性。

答案 1 :(得分:0)

你有没有考虑过iAd网络暂时关闭? 始终保留Apples自己的iAd Suite副本: https://developer.apple.com/library/ios/samplecode/iAdSuite_Storyboard/Introduction/Intro.html

如果他们自己没有加载,你的也不会加载。

现在我收到这个自我解释的错误消息:

NSLocalizedFailureReason=Ad inventory unavailable

希望有所帮助。