在屏幕底部显示iAd横幅视图的正确方法



我想在屏幕底部显示iAd横幅视图。我还想在第一个bannerViewDidLoadAdbannerView:didFailToReceiveAdWithError方法调用之后隐藏它,并在任何进一步的bannerViewDidLoadAd方法调用之后恢复它。实现这种行为的正确方法是什么?

这是我尝试过的:

  • 通过XCode中的接口构建器将iAd Banner视图添加到视图控制器中,并选择视图控制器作为该视图的委托

  • 添加以下功能到视图控制器的实现——https://gist.github.com/ellneal/1082499

  • 将这些方法的调用添加到bannerViewDidLoadAdbannerView:didFailToReceiveAdWithError中:

    - (void)bannerViewDidLoadAd:(ADBannerView *)banner
    {
        [self showBannerView:banner animated:YES];
    }
    - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
    {
        [self hideBannerView:banner animated:YES];
    }
    

在这种情况下,我看到一个空白的屏幕,而不是广告之前的bannerViewDidLoadAd方法被调用,iAd横幅视图不会再次出现,当连接再次建立(我认为这是因为removeFromSuperview方法调用)。我该怎么修理它?也许有一种更正确的方式来实现这样的行为?

如果可能的话,你应该考虑在视图控制器上使用setCanDisplayAds:。参考Apple的文档

导入iAd并在根视图控制器上设置该属性,或者在你希望在底部显示广告的内容视图控制器上设置该属性。

最新更新