我在我的应用程序中添加了iAd横幅,代码如下:

@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


    }



}

现在,我的应用程序在app store上出售,我下载了它,但当我打开它时,发现底部没有广告,是不是我的代码有问题?但当我在模拟器上运行这个应用程序时,它会说“连接到iAd”。
谢谢你的帮助!

最佳答案

你实际上在尝试实现两个iAdADBannerView。您可以使用self.canDisplayBannerAds = true函数中的viewDidLoad,并删除其他iAd代码(@IBOutlet var adBannerview: ADBannerView?self.adBannerview?.delegate = selfself.adBannerview?.hidden = true)。self.canDisplayBannerAds = true将为您创建一个iAd横幅,并自行管理是否从iAd收到广告。这是在应用程序中实现iAd横幅的简单方法,但不允许进行太多控制。
或者,您可以删除self.canDisplayBannerAds = true并自己实现iAdADBannerView。这允许更多的控制,但需要不止一行代码才能启动和运行,但实现起来仍然非常简单。如果你选择走这条路,你可以查看我的答案来获得一些指导。
此外,您的视图控制器ADBannerView函数中有所有didReceiveMemoryWarning的委托方法。它们需要放在这个函数和任何其他函数之外。

关于ios - 我的应用程式中的iAd无法运作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30158257/

10-13 05:41