没有可用广告时隐藏iAd横幅

时间:2013-02-08 01:30:41

标签: iphone ios objective-c iad

这是一个Phonegap应用。我完全迷失在这里,请帮忙。 我跟着this tutorial跟了t。

这是我的MainViewController.m:

- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
    adView = [[ADBannerView alloc] initWithFrame:CGRectZero];


    if([UIApplication sharedApplication].statusBarOrientation ==
       UIInterfaceOrientationPortrait ||
       [UIApplication sharedApplication].statusBarOrientation ==
       UIInterfaceOrientationPortraitUpsideDown) {
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    }
    else {
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
    }


    adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    CGRect adFrame = adView.frame;
    adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height;
    adView.frame = adFrame;
    [self.view addSubview:adView];

    // Black base color for background matches the native apps
    theWebView.backgroundColor = [UIColor blackColor];

    return [super webViewDidFinishLoad:theWebView];
}

1 个答案:

答案 0 :(得分:8)

快速回答: 您需要做的是遵守ADBannerViewDelegate协议,并在广告无法接收广告时隐藏广告。

分步版:

在您列出的方法中,您还需要包含adView.delegate = self

在MainViewController.h中,它显示@interface MainViewController : UIViewController,您希望之后添加<ADBannerViewDelegate>,如下所示:

@interface MainViewController : UIViewController <ADBannerViewDelegate>。如果已经有&lt; &GT;在那里,只需添加一个逗号并添加ADBannerViewDelegate。

返回MainViewController.m,添加以下方法:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
   adView.hidden = NO;
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
   adView.hidden = YES;
}