如何在Swift中预加载banner iAds?

问题描述:

我只是将iAds集成到我的应用程序中,他们完美地工作。唯一的问题是,广告出现之前网页会有延迟。我希望在应用启动后立即预装广告。我有一个中等长方形广告和一个普通横幅广告(在应用中的不同视图中)。如何在Swift中预加载banner iAds?

中矩形被装载在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

这怎么办?

总是会有一点延迟,因为应用程序必须从iAd CDN中获取广告。现在,如果您有一个在ReadingVC和LibraryVC之前显示的视图,您可以随时尝试在那里加载广告。为此,您可能需要创建一个独立的单例类来保存所有的iAd代码,然后从您需要显示的所有位置访问该类,或尝试预加载iAd。

+0

我在这两者之前都有看法。我会研究这个单身的事情。你碰巧手头有一个有用的资源吗? – Andrew