点按时,iAd横幅不会加载
我有一个iAd横幅位于我的应用程序的底部。 横幅在testing设备上显示正常,委托方法似乎被适当调用。
我的问题是。 当我点击“ 你连接到iAd ”横幅时,没有任何东西被加载。 通常情况下,我希望看到另一个全屏iAd视图popup。 当我点击它时,我看到横幅变黑,然后当我移开我的手指时它会恢复正常。
bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool)
会触发, willLeave
==假。
class ViewController: UIViewController, UIGestureRecognizerDelegate, ADBannerViewDelegate, GADBannerViewDelegate { var bannerView: ADBannerView! override func viewDidLoad() { super.viewDidLoad() self.bannerView = ADBannerView() self.bannerView.frame = CGRectMake(0, view.frame.height-50, view.frame.width, 50) self.bannerView.delegate = self self.view.addSubview(bannerView) } }
添加这个 – ADBannerViewDelegate
创buildvariables – var adBanner = ADBannerView()
在viewDidLoad()
adBanner = iADManager.sharedInstance adBanner.delegate = self if DeviceType.IS_IPAD { adBanner.frame = CGRectMake(0, 20, self.view.frame.width, 65); } else { adBanner.frame = CGRectMake(0, 20, self.view.frame.width, 50); }
委托方法[如果取得成功的广告,这将添加子视图,否则从视图中删除]
func bannerViewDidLoadAd(banner: ADBannerView!) { self.view.addSubview(banner) } func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { banner.removeFromSuperview() } func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { return true }
以下是我的shareInstance类。 这将更有助于内存pipe理和加载广告。
class iADManager{ class var sharedInstance: ADBannerView { struct Static { static var onceToken: dispatch_once_t = 0 static var instance: ADBannerView? = nil } dispatch_once(&Static.onceToken) { Static.instance = ADBannerView(adType: ADAdType.Banner) } return Static.instance! } }
问题是我实施了…
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {NSLog("Banner Leaving... \(willLeave)") return willLeave }
willLeave
被设置为false
所以我必须返回true
或不实现该方法。 我select只是返回true