我也一直在等待 iAd 的 iPhone 插页式广告。我终于将它实现到我的一个应用程序中,并且它正在运行并很好地显示测试广告。该应用程序目前正在审核中,一旦获得批准,我将更新我的答案,我可以测试是否正在投放任何实际广告。同时,这是我用来实现 iAd 插页式广告的代码:
ViewController.h
@interface ViewController : UIViewController <ADInterstitialAdDelegate> {
ADInterstitialAd *interstitial;
BOOL requestingAd;
}
-(void)showFullScreenAd;
ViewController.m
-(void)viewDidLoad {
requestingAd = NO;
}
// Interstitial iAd
-(void)showFullScreenAd {
// Check if already requesting ad
if (requestingAd == NO) {
[ADInterstitialAd release];
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual;
[self requestInterstitialAdPresentation];
NSLog(@"interstitialAdREQUEST");
requestingAd = YES;
}
}
-(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error {
interstitial = nil;
[interstitialAd release];
[ADInterstitialAd release];
requestingAd = NO;
NSLog(@"interstitialAd didFailWithERROR");
NSLog(@"%@", error);
}
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidLOAD");
if (interstitialAd != nil && interstitial != nil && requestingAd == YES) {
[interstitial presentFromViewController:self];
NSLog(@"interstitialAdDidPRESENT");
}
}
-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd {
interstitial = nil;
[interstitialAd release];
[ADInterstitialAd release];
requestingAd = NO;
NSLog(@"interstitialAdDidUNLOAD");
}
-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
interstitial = nil;
[interstitialAd release];
[ADInterstitialAd release];
requestingAd = NO;
NSLog(@"interstitialAdDidFINISH");
}
我只是在用户执行某个操作后调用-(void)showFullScreenAd。更多信息请参考UIViewController iAd Additions Reference
编辑:2014 年 1 月 3 日
应用更新已获批准,现已上线 12 小时。到目前为止,我还没有收到任何插页式 iAd。这可能是由于 iPhone 上的插页式广告库存不足,也可能与我在 iTunes Connect 上的 iAd 模块中收到的以下消息有关。消息内容为
当您提交您的应用 [app name] 以供批准时,iAd 还将对其在 App Network 上的使用进行审核,以确定其是否适合接收来自 iAd 广告商的广告。一旦您的应用获得批准,您就可以开始通过在您的应用中投放的广告赚取收入了。
我以前从未收到过此消息,我通常会在 App Store 发布更新后立即收到“您的应用现在有资格接收广告”消息。要么是因为在我的应用中新实施了插页式广告,要么是 Apple 更新了一些 iAd 程序。
如果我开始接收插页式 iAd,我会再次更新答案。同时,您可以在我的应用程序+Quotes 上自己进行测试。上面的代码被调用,一旦用户在应用内通过 Facebook 分享,就会显示一个插页式广告。
编辑:2014 年 1 月 7 日
今天直接联系了iAd并收到了回复
你好丹尼尔,
初始填充率将反映最近在 iOS 7 上推出的插页式广告。感谢您在我们增加广告投放时的耐心等待。
如果您还没有,我们建议您在您的应用程序中集成标准纵向和横向 iAd 横幅,以利用所有可用类型的广告资源。
最后,为了将来参考,当您提交您的应用程序以供批准时,iAd 还将对其进行审核,以确定其是否适合接收来自 iAd 广告商的广告。因此,您的新启用 iAd 的应用可能需要几天时间才能开始获得广告展示。
最好的祝福,
iAd 应用网络支持
因此,适用于 iPhone 的插页式 iAd 确实适用于 iOS 7.0 及更高版本,但目前填充率较低。