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

时间:2013-12-23 10:31:39

标签: iphone ipad iad interstitial

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

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

但是我找不到任何体面的文件。这个Stack问题让我再次感到疑惑iAd & Admob Interstitial Integration on iPhone

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

1 个答案:

答案 0 :(得分:20)

我也一直在等待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

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

  

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

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

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

编辑:01/07/14 直接联系iAd并立即收到回复

  

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

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