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



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

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

显示横幅的视图控制器具有 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 Connect中无法在应用程序管理下启用iAD。

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

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

另一个原因可能是 iads 展示率不是那么 从我读到的内容来看,并不是每个来自您应用的广告请求都会回复展示,因此请尝试等待几分钟,直到显示一次。

相关内容

  • 没有找到相关文章

最新更新