我的应用程序中的 iAd 不起作用

iAd in my app doesn't work

我在我的应用中添加了iAd banner,代码是这样的:

@IBOutlet var adBannerview: ADBannerView?

viewDidLoad 中的代码:

    self.canDisplayBannerAds = true
    self.adBannerview?.delegate = self
    self.adBannerview?.hidden = true

然后:

 override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
    func bannerViewWillLoadAd(banner: ADBannerView!) {


    }
   func bannerViewDidLoadAd(banner: ADBannerView!) {
    self.adBannerview?.hidden = false


    }
   func bannerViewActionDidFinish(banner: ADBannerView!) {


    }

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

        return true

    }

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


    }



}

现在,我的应用在应用商店有售,我下载了那个,但是当我打开它时,发现底部没有广告,是我的代码有问题吗?但是当我 运行 模拟器上的应用程序时,它显示 "Connected to iAd"。 如有帮助,不胜感激!

您实际上是在尝试在此处实施两个 iAd ADBannerView。您可以使用 viewDidLoad 函数中的 self.canDisplayBannerAds = true,并删除其他 iAd 代码(@IBOutlet var adBannerview: ADBannerView?self.adBannerview?.delegate = selfself.adBannerview?.hidden = true)。 self.canDisplayBannerAds = true 将为您创建 iAd 横幅并自行管理是否从 iAd 接收广告。这是在您的应用程序中实施 iAd 横幅的简单方法,但不允许太多控制。

或者,您可以删除 self.canDisplayBannerAds = true 并自己实施 iAd ADBannerView。这允许更多的控制,但确实需要不止一行代码来启动它 运行,但实现起来仍然非常简单。如果您选择走这条路,可以查看我的回答 以获得一些指导。

此外,您在视图控制器 didReceiveMemoryWarning 函数中拥有所有 ADBannerView 的委托方法。它们需要放在这个函数和任何其他函数之外。

实时广告通常需要一周或更长时间才能开始展示。 Apple 的广告团队有一个单独的审核流程,在最坏的情况下最多可能需要 10 个工作日。