我的应用程序中的 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 = self
、self.adBannerview?.hidden = true
)。 self.canDisplayBannerAds = true
将为您创建 iAd 横幅并自行管理是否从 iAd 接收广告。这是在您的应用程序中实施 iAd 横幅的简单方法,但不允许太多控制。
或者,您可以删除 self.canDisplayBannerAds = true
并自己实施 iAd ADBannerView
。这允许更多的控制,但确实需要不止一行代码来启动它 运行,但实现起来仍然非常简单。如果您选择走这条路,可以查看我的回答 以获得一些指导。
此外,您在视图控制器 didReceiveMemoryWarning
函数中拥有所有 ADBannerView
的委托方法。它们需要放在这个函数和任何其他函数之外。
实时广告通常需要一周或更长时间才能开始展示。 Apple 的广告团队有一个单独的审核流程,在最坏的情况下最多可能需要 10 个工作日。
我在我的应用中添加了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 = self
、self.adBannerview?.hidden = true
)。 self.canDisplayBannerAds = true
将为您创建 iAd 横幅并自行管理是否从 iAd 接收广告。这是在您的应用程序中实施 iAd 横幅的简单方法,但不允许太多控制。
或者,您可以删除 self.canDisplayBannerAds = true
并自己实施 iAd ADBannerView
。这允许更多的控制,但确实需要不止一行代码来启动它 运行,但实现起来仍然非常简单。如果您选择走这条路,可以查看我的回答
此外,您在视图控制器 didReceiveMemoryWarning
函数中拥有所有 ADBannerView
的委托方法。它们需要放在这个函数和任何其他函数之外。
实时广告通常需要一周或更长时间才能开始展示。 Apple 的广告团队有一个单独的审核流程,在最坏的情况下最多可能需要 10 个工作日。