iAd显示白色方框



我对iAd有点问题。有时它显示一个空白的白色方框。当我试用Admob时,它的效果非常好。有时横幅正确地来自按钮,但有时它会立即显示白框。问题出在哪里?

这是我的代码:

    -(void)viewDidLayoutSubviews
    {
        if (self.view.frame.size.height != self.iAdBannerView.frame.origin.y)
                    {
            self.iAdBannerView.frame = CGRectMake(0.0, self.view.frame.size.height, self.iAdBannerView.frame.size.width, self.iAdBannerView.frame.size.height);
                                    iAdBannerView.requiredContentSizeIdentifiers= [NSSet setWithObjects: ADBannerContentSizeIdentifierLandscape,nil];
                        iAdBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
                    }
            if (self.view.frame.size.height != self.gAdBannerView.frame.origin.y)
            {
                self.gAdBannerView.frame = CGRectMake(150, self.view.frame.size.height, self.gAdBannerView.frame.size.width, self.gAdBannerView.frame.size.height);
            }
// Hide the banner by sliding down
-(void)hideBanner:(UIView*)banner
{
    if (banner && ![banner isHidden])
    {
        [UIView beginAnimations:@"hideBanner" context:NULL];
        banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);
        [UIView commitAnimations];
        banner.hidden = TRUE;
    }
}
// Show the banner by sliding up
-(void)showBanner:(UIView*)banner
{
    if (banner && [banner isHidden])
    {
        [UIView beginAnimations:@"showBanner" context:NULL];
        banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);
        [UIView commitAnimations];
        banner.hidden = FALSE;
    }
}
#pragma mark - ADBanner delegate methods -
// Called before the add is shown, time to move the view
- (void)bannerViewWillLoadAd:(ADBannerView *)banner
{
    NSLog(@"iAd load");
    [self hideBanner:self.gAdBannerView];
    [self showBanner:self.iAdBannerView];
}
// Called when an error occured
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"iAd error: %@", error);
    [self hideBanner:self.iAdBannerView];
    [self.gAdBannerView loadRequest:[GADRequest request]];
}
iAds并不总是加载广告。有一个委托方法可以让你知道广告何时成功加载。

ADBannerViewDelegate具有bannerViewDidLoadAd:bannerView:didFailToReceiveAdWithError:

最新更新