我在iphone应用中插入了adBannerView。我按照文档中描述的苹果示例进行操作。当App在调试模式下运行时,广告显示正确(测试版本),但在发布版本中,当真实用户使用应用程序时,我会看到一个白色框,其中应显示横幅。
也许我错过了/忘记了某些事情或者我做错了什么?
显示横幅的视图控制器具有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];
}
答案 0 :(得分:0)
如果它在测试时有效但对真实用户不起作用那么你可能犯了一个常见且痛苦的错误,就是在你的itunes connect中不能在应用程序管理下启用iads。
如果您尚未使用广告,请查看here了解如何启用广告。
为什么会痛苦?因为您必须将应用程序状态更改为等待上传,您的应用程序将不得不等待另一次审核。 (在您上传新二进制文件后)
另一个原因可能是iads的展示次数与我所读的并不是那么相似,并且并非所有来自您应用的广告请求都会回复展示,因此请等待几分钟,直到展示出来。