我在iPhone上播放插页式广告?

pix*_*cks 16 iphone interstitial ipad iad

我和我的开发人员曾尝试在iPhone和iPad上加载插页式广告,但只是设法在iPad上运行.

在我们的测试中,我们发现iPhone上不支持插页式广告,但自iOS7发布以来,有些人现在说这是可能的.

但是,我找不到任何体面的文件.这个Stack问题让我再次想知道iPhone上的iAd和Admob插页式整合

那么,使用iAds的iPhone上是否可以使用全屏插页式广告?

Dan*_*orm 20

我也一直在等待iAd的iPhone插页式广告.我终于将它实现到我的一个应用程序中,它正在运行并显示测试广告.该应用目前正在审核中,我会在批准后更新我的答案,我可以测试是否有任何实际的广告投放.与此同时,以下是我用于实现iAd插页式广告的代码:

ViewController.h

@interface ViewController : UIViewController <ADInterstitialAdDelegate> {
    ADInterstitialAd *interstitial;
    BOOL requestingAd;
}

-(void)showFullScreenAd;
Run Code Online (Sandbox Code Playgroud)

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");
}
Run Code Online (Sandbox Code Playgroud)

我只是-(void)showFullScreenAd在用户执行某个操作后调用.有关更多信息,请参阅UIViewController iAd Additions Reference

编辑:01/03/14应用程序更新已获批准,现已上线12小时.到目前为止,我还没有收到任何插页式广告.这可能是由于iPhone上的插页式广告缺少广告资源,或者可能与我在iTunes Connect上的iAd模块中收到的以下消息有关.消息显示

当您提交应用程序[应用程序名称]以供审批时,iAd也会对其进行审核,以便在应用网络上使用,以确定其是否适合接收来自iAd广告客户的广告.一旦您的应用获得批准,您就可以开始为在您的应用中投放的广告赚取收入.

我之前从未收到过此消息,一旦在App Store中发布更新,我通常会收到"您的应用现在有资格接收广告"消息.这要么是因为我的应用中新增了插页式广告,要么Apple更新了部分iAd程序.

如果我开始接收插页式广告,则会再次更新答案.在此期间,您可以在我的app + Quotes上自行测试.一旦用户通过Facebook在应用内共享,就会调用上述代码并显示插页式广告.

编辑:01/07/14直接与iAd联系,今天收到回复

您好丹尼尔,初始填写率将反映iOS 7上最近推出的插页式广告.感谢您在我们提升广告投放时的耐心等待.如果您还没有,我们建议您在应用中集成标准纵向和横向iAd横幅,以利用所有可用类型的广告资源.最后,为了供将来参考,当您提交申请以供审批时,iAd也会对其进行审核,以确定其是否适合接收来自iAd广告客户的广告.因此,启用iAd的新应用可能需要几天才能开始接收广告展示次数.最诚挚的问候,iAdApp网络支持

因此,适用于iPhone的插页式iAd适用于iOS 7.0及更高版本,但目前填充率较低.

  • @DanielStormApps这几乎起作用,只是`[interstitial presentFromViewController:self];`自iOS7以来不推荐使用.使用`[interstitial presentInView:self.view];`代替 (2认同)
  • 当广告完成委托被调用时,其他任何人都有黑屏吗? (2认同)