我在我的应用中添加了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
}
}
现在,我的应用程序在应用程序商店有售,我下载了它,但是当我打开它时,发现底部没有广告,是我的代码有问题吗?但是当我在模拟器上运行该应用程序时,它会显示“已连接到 iAd”。 如果您有帮助,我们将不胜感激!
最佳答案
您实际上是在尝试在此处实现两个 iAd ADBannerView
。您可以使用 viewDidLoad
函数中的 self.canDisplayBannerAds = true
,并删除其他 iAd 代码 (@IBOutlet var adBannerview: ADBannerView?
, self.adBannerview?.delegate = self
, self.adBannerview?.hidden = true
). self.canDisplayBannerAds = true
将为您创建一个 iAd 横幅并自行管理是否收到来自 iAd 的广告。这是在您的应用程序中实现 iAd 横幅的简单方法,但不允许太多控制。
或者,您可以删除 self.canDisplayBannerAds = true
并自己实现 iAd ADBannerView
。这允许更多的控制,但确实需要不止一行代码来启动和运行它,但实现起来仍然非常简单。你可以查看我的回答here如果您选择走这条路,请寻求一些指导。
此外,您在 View Controller 的 didReceiveMemoryWarning
函数中拥有所有 ADBannerView
的委托(delegate)方法。它们需要放置在此函数和任何其他函数之外。
关于ios - 我的应用程序中的 iAd 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158257/