iAd横幅在模拟器上显示测试广告,而不是在设备上



我试图在我的iPhone应用程序上放置一个iAd横幅广告。这里是我声明横幅广告的地方:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
    [banner setAlpha:1];
    [UIView commitAnimations];
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
    [banner setAlpha:0];
    [UIView commitAnimations];
}

当我在模拟器上测试时,测试广告立即显示。当我在我的设备上测试时,什么也没有显示。

我最近注册了苹果的iAd系统,但是当我尝试查看iTunes Connect的iAd部分时,它告诉我iAd网络目前不可用。这就是测试广告无法在我的设备上显示的原因吗?如果是这样,为什么它仍然显示在模拟器上?

这是因为在广告可以显示之前,你的设备必须联系iAD服务器,搜索成千上万的广告,决定哪一个最适合你的应用,将广告信息发送到你的ios设备,然后发送确认回iAD服务器,没有良好的互联网连接,这些都无法完成。

然而,在ios simulator上,上述都不必发生,模拟器只是显示测试广告,无论如何。

我有两个应用程序在应用程序商店,使用完全相同的代码和你做的显示广告,与你所描述的延迟。所以,你的代码没有错误,广告显示的延迟是完全正常的。

所以,正如你所看到的,在一个iAD可以显示在一个实际的ios设备上之前,有很多事情要发生,即使这样,你必须有一个强大的互联网连接

我希望这对新用户有帮助,这对我有用:

在ViewController.h

  @interface ViewController : UIViewController <ADBannerViewDelegate> {    
  }
  @property (nonatomic, strong) ADBannerView *banner;
  @end

在ViewController

- (void)viewDidLoad{
  [super viewDidLoad];
  //self.canDisplayBannerAds = YES; This give me a error    
  self.banner = [[ADBannerView alloc] initWithFrame:CGRectZero];
  self.banner.delegate = self;
  [self.banner sizeToFit];
  self.banner.hidden = true;
}

最后一件事:

实现两个方法:

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
if (banner.isBannerLoaded) {
    [UIView beginAnimations:@"animateAdBannerOff" context:NULL];
    // Assumes the banner view is placed at the bottom of the screen.
    banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);
    [UIView commitAnimations];
 }
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner{
 NSLog(@"Showing iAd");
 self.banner.hidden = false;
 ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0,    self.view.frame.size.height - 50, 320, 50)];
  //adView.delegate = self;
 [self.view addSubview:adView];
}

最新更新