使用 iAd 和 SpriteKit 制作全屏广告 (iOS)

Creating Fullscreen Ads using iAd and SpriteKit (iOS)

所以我一直在尝试将 iAd 集成到我的应用程序中。我设法让横幅广告工作得很好,但我在全屏广告方面遇到了很多麻烦。我一直在关注 this tutorial,因为它似乎是我发现的最好、信息量最大的一个,而且苹果文档并没有真正得到太多支持。

对于那些想知道的人,我正在尝试实现一种效果,即当用户玩游戏时会显示全屏广告。请记住 该应用程序也是水平的 我还想要一种退出广告的方法,因为我相信 iAds 不会随附退出按钮,或类似的东西。

问题是广告没有显示,我没有收到任何错误,它似乎没有显示在屏幕上

如果解释简短或缺乏信息,请道歉,如果您还需要我,请询问 :)

-瑞安

编辑: 对于那些无法访问超链接或只想查看我正在使用的代码的人,这里是:

@implementation GameViewController {
    UIView *_adView;
    ADInterstitialAd* _interstitial;
    BOOL _requestingAd;
}

.

-(void)showFullScreenAd {
if (_requestingAd == NO) {
    _interstitial = [[ADInterstitialAd alloc] init];
    _interstitial.delegate = self;
    NSLog(@"Ad Request");
    _requestingAd = YES;
}

}

-(void)interstitialAd:(ADInterstitialAd *)interstitialAd                              didFailWithError:(NSError *)error {
    _requestingAd = NO;
    NSLog(@"Ad didFailWithERROR");
    NSLog(@"%@", error);
}

-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd {
    NSLog(@"Ad DidLOAD");
    if (interstitialAd.loaded) {

    CGRect interstitialFrame = self.view.bounds;
    interstitialFrame.origin = CGPointMake(0, 0);
    _adView = [[UIView alloc] initWithFrame:interstitialFrame];
    [self.view addSubview:_adView];

    [_interstitial presentInView:_adView];

    UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button addTarget:self action:@selector(closeAd:) forControlEvents:UIControlEventTouchDown];
    button.backgroundColor = [UIColor clearColor];
    [button setBackgroundImage:[UIImage imageNamed:@"close-button.png"] forState:UIControlStateNormal];
    button.frame = CGRectMake(0, 0, 30, 30);
    [_adView addSubview:button];

    [UIView beginAnimations:@"animateAdBannerOn" context:nil];
    [UIView setAnimationDuration:1];
    [_adView setAlpha:1];
    [UIView commitAnimations];

}
}

-(void)closeAd:(id)sender {
    [UIView beginAnimations:@"animateAdBannerOff" context:nil];
    [UIView setAnimationDuration:1];
    [_adView setAlpha:0];
    [UIView commitAnimations];

_adView=nil;
_requestingAd = NO;
}

-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd {
    _requestingAd = NO;
    NSLog(@"Ad DidUNLOAD");
}

-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
    _requestingAd = NO;
    NSLog(@"Ad DidFINISH");
}

呃,那个教程只是 my answer here 的副本,而且非常过时。

我有一个newer implementation here。虽然它仍然不完美。

就我个人而言,我建议使用 AdMob or Facebook 作为插页式广告。 iAd 的插页式广告执行不佳。

@Daniel Storm 给出了很好的评价 advice.I'' 还补充说 Chartboost 和 Applovin 非常适合插页式广告。你提到你正在使用横​​幅(我的意思是小横幅),我不会推荐它们 - 真的会让用户感到不安。尝试插页式广告和不同类型的视频,它们的有效每千次展示费用是一种方式 higher.You 也可以使用调解使骑士着手。我坚持使用 Appodeal,因为它们有效地覆盖了众多网络并按需支付。