OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 iAd 和 SpriteKit (iOS) 创建全屏广告 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 09:36
标题: ios - 使用 iAd 和 SpriteKit (iOS) 创建全屏广告

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

对于那些想知道的人,我正在尝试实现一种效果,当用户通过全屏广告获得游戏时会显示这种效果。请记住应用程序也是水平的,我还想要一种退出广告的方法,因为我相信 iAd 不带有退出按钮或其他东西类似。

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

如果解释简短或缺少信息,请道歉,如果您需要我的任何其他内容,请询问

-瑞恩

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

@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)interstitialAdADInterstitialAd *)interstitialAd                              didFailWithErrorNSError *)error {
    _requestingAd = NO;
    NSLog(@"Ad didFailWithERROR");
    NSLog(@"%@", error);
}

-(void)interstitialAdDidLoadADInterstitialAd *)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 actionselector(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)closeAdid)sender {
    [UIView beginAnimations"animateAdBannerOff" context:nil];
    [UIView setAnimationDuration:1];
    [_adView setAlpha:0];
    [UIView commitAnimations];

_adView=nil;
_requestingAd = NO;
}

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

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



Best Answer-推荐答案


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

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

我个人建议使用 AdMobFacebook用于您的插页式广告。 iAd 的插页式广告执行不力。

关于ios - 使用 iAd 和 SpriteKit (iOS) 创建全屏广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33386029/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4