我只是将iAd集成到我的应用中,它们完美运行。唯一的问题是广告出现之前页面有延迟。我想在应用启动后立即预加载广告。我有一个中矩形广告和一个常规横幅广告(在应用中的不同视图上)。
在ReadingVC.swift的viewDidLoad()
上加载了中矩形,如下所示:
var rectangleAdView = ADBannerView(adType: ADAdType.MediumRectangle)
// Show banner ad
rectangleAdView?.delegate = self
具有以下功能:
func bannerViewDidLoadAd(banner: ADBannerView!) {
println("bannerViewDidLoadAd - Ad shown on app")
self.view.addSubview(banner)
self.view.layoutIfNeeded()
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError
error: NSError!) {
banner.removeFromSuperview()
self.view.layoutIfNeeded()
}
常规横幅以相同的方式加载到LibraryVC.swift的viewDidLoad()
上,只有ADAdType.Banner
代替ADAdType.MediumRectangle
如何做到这一点?
答案 0 :(得分:2)
由于应用程序必须从iAd CDN获取广告,因此总会有一点延迟。现在,如果您有一个在ReadingVC和LibraryVC之前显示的视图,您可以随时尝试在那里加载广告。要做到这一点,您可能需要创建一个单独的单例类来保存所有iAd代码,然后从您需要显示或尝试预加载iAd的所有位置访问该类。