繁体   English   中英

iOS-ADBannerView未显示在最终版本上

[英]iOS - ADBannerView not shown on final version

我将adBannerView插入了iPhone应用程序。 我遵循文档中描述的苹果示例。 当应用程序在调试模式下运行时,广告会正确显示(测试版),但在发行版中,当真实用户使用该应用程序时,我会看到一个白框,应在其上方显示横幅。

也许我错过了/忘记了什么,或者我做错了什么?

显示横幅的视图控制器具有initBanner方法:

- (void) initBanner{

    ADBannerView *_bannerView = nil;

    if (!is2ShowBanner){
        _bannerView = nil;
        MyLogEvidence(@"%@ BANNER da Nascondere", [self.class description]);
        return;
    }

    MyLogEvidence(@"%@ BANNER da Visualizzare", [self.class description]);


    _bannerView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
    [_bannerView setDelegate:self];

    CGRect bounds = self.view.bounds ;
    CGRect frame = _bannerView.frame;
    frame.origin = CGPointMake(CGRectGetMinX(bounds),CGRectGetMaxY(bounds)- _bannerView.frame.size.height);

    [_bannerView setFrame:frame];

    [self.view  addSubview:_bannerView];
}

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{

    [self layoutForBanner:banner animated:YES ];
}


-(void)bannerViewDidLoadAd:(ADBannerView *)banner{

    [self layoutForBanner:banner animated:YES];
}

- (void)layoutForBanner:(ADBannerView*)_bannerView animated:(BOOL)animated

{

    if (_bannerView == nil){

        MyLog(@"BANNER non presente");

        [_constraintVerticalForBanner setConstant:3.0];
        [self.view layoutIfNeeded];
        [self.view updateConstraintsIfNeeded];

        return;
    }


    [_bannerView setHidden:!_bannerView.bannerLoaded];

    [_constraintVerticalForBanner setConstant:_bannerView.hidden? 3.0 : _bannerView.frame.size.height+3];

        [self.view layoutIfNeeded];

        [self.view updateConstraintsIfNeeded];

        MyLog(@"%@.constraintVerticalForBanner start: %3.0f",[self.class description],_constraintVerticalForBanner.constant);

}

-(BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave{

    return YES;

}

呼叫始于:

-(void)viewDidAppear:(BOOL)animated{

    [super viewDidAppear:animated];

    [self initBanner];

}

好吧,如果它在测试时有效,但不适用于实际用户,那么您可能犯了一个常见而痛苦的错误,即在iTunes连接中不启用应用程序管理下的iads。

如果您尚未启用广告,请点击此处查看如何启用广告。

为什么会很痛苦? 因为您必须将应用程序状态更改为等待上传,并且您的应用程序必须等待其他审核。 (上传新二进制文件后)

另一个原因可能是iads的展示率并非如此,根据我的阅读,并不是您应用中的每个广告请求都获得了展示,因此请尝试等待几分钟直到显示一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM