我目前正在我的第一个iPhone应用中实施iAd。我的问题是检测我的视图控制器上是否有实际显示插页式广告。因为,如果没有广告,我想展示另一种观点。
我一直在阅读iAd编程指南,然后在文档中找到了“UIViewController iAd Additions Reference”。这个告诉我,我的视图控制器现在有一个名为presentsFullScreenAd的新属性。
问题是每当我在viewDidLoad,viewWillAppear或viewDidAppear中调用它时,它返回NO。除非我关闭广告(如果有广告显示),否则它在viewWillAppear和viewDidAppear中返回YES,但是时间太晚了。
我设置了视频控制器的interstitialPresentationPolicy,该广告向ADInterstitialPresentationPolicyAutomatic展示广告,因为我希望它尽可能频繁地展示广告。
有关于此的任何想法? 提前谢谢。
答案 0 :(得分:3)
您可能需要设置一个计时器,以便在一段时间后取消对插页式广告的请求,以便在广告未及时填充时显示下一个视图。
在显示插页式广告之前,会调用interstitialAdDidLoad
。因此,如果广告已加载,则广告现在在屏幕上,直到广告被取消,其中interstitialAdDidUnload
和interstitialAdActionDidFinish
将被调用。收听这些委托方法,以确定当前是否在屏幕上显示插页式广告。
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidLOAD");
[interstitial presentFromViewController:self];
NSLog(@"interstitialAdDidPRESENT");
}
-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidUNLOAD");
}
-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidFINISH");
}