1

我目前在我的第一个 iPhone 应用程序中实施 iAd。我遇到的问题是检测我的视图控制器上是否确实显示了插页式广告。因为,如果没有广告,我想展示另一种观点。

我一直在阅读 iAd 编程指南,然后在文档中找到了“UIViewController iAd Additions Reference”。这告诉我,我的视图控制器现在有一个新属性,称为presentingFullScreenAd。

问题是每当我在 viewDidLoad、viewWillAppear 或 viewDidAppear 中调用它时,它都会返回 NO。除非我关闭广告(如果有广告显示),否则它会在 viewWillAppear 和 viewDidAppear 中返回 YES,但为时已晚。

我已将显示广告的视图控制器的 interstitialPresentationPolicy 设置为 ADInterstitialPresentationPolicyAutomatic,因为我希望它尽可能频繁地显示广告。

有什么想法吗?提前致谢。

4

1 回答 1

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");
}

另外,请参阅UIViewController iAd Additions Reference

于 2014-02-11T11:06:59.613 回答