【发布时间】:2014-07-17 12:10:11
【问题描述】:
在 iPhone 上使用 iAd 显示插页式广告似乎有 2 个选项。插页式广告的文档已过时,但根据iAds Additions Reference,所有需要做的设置是:
[UIViewController prepareInterstitialAds];
[self setInterstitialPresentationPolicy:ADInterstitialPresentationPolicyManual];
后跟:
[self requestInterstitialAdPresentation]
(如果成功则返回布尔值)只要您想展示广告。
其他选项是手动创建插页式广告对象:
ADInterstitialAd *interstitial;
然后:
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
当您想展示广告时:
if (interstitial.isLoaded) {
[interstitial presentFromViewController:self];
}
但是 PresentViewController: 已被弃用,使用 presentInView:self.view 意味着广告没有关闭按钮。编译器还建议 requestInterstitalAdPresentation。
因此人们会假设选项 1 是首选方法。我对this question 的答案有点困惑,因为它使用了 2 的组合,但似乎 requestInterstitalAdPresentation 不会触发 ADInterstitialAd 实例的委托方法,并且使用两者都是没有意义的。
所以我的问题是——第一种方法真的足够了吗?我发现它只显示一个广告,然后就无法再显示了。我在另一个问题中读到 ADInterstitialAd 实例需要分配给 nil 才能请求新广告,但是 requestInterstitialAdPresentation 无论如何都会忽略此实例。 requestInterstitialAdPresentation 只是模拟低填充率吗?还是我错过了一步?
【问题讨论】:
标签: iphone objective-c uiviewcontroller iad interstitial