代码之家  ›  专栏  ›  技术社区  ›  Joris416

iAd未显示横幅广告

  •  2
  • Joris416  · 技术社区  · 11 年前

    我正在构建一个应用程序,我想在其中使用iAd横幅。我想在其中显示广告的视图控制器是UIViewController。我正在使用故事板。我实现了iAd横幅,正如苹果在这里展示/演示的那样:

    • 添加iAd框架
    • 进口 "<iAd/iAd.h>" 头球
    • 插入的 self.canDisplayBannerAds = YES;

    但当我运行我的应用程序时,没有iAd显示。我忘了什么吗?提前非常感谢

    3 回复  |  直到 11 年前
        1
  •  1
  •   edukulele    10 年前

    我有一个不同的问题,但答案也适合你的问题。我更新了旧的xib文件(来自XCode 5.1)以使用 Size Classes 在XCode 6.0中。更新后的广告只出现在iPhone 4-5和5s上。iPhone 6和iPhone 6 Plus没有横幅(模拟器显示的结果与外部设备相同)。使用xib文件和

    self.canDisplayBannerAds = YES;
    

    在我的情况下,我把这个命令从 viewDidLoad viewDidAppear 横幅出现了。现在我可以在所有设备中看到横幅。

        2
  •  0
  •   Jordan Montel    11 年前

    在你的.h:

    @interface MyViewController : UIViewController <ADBannerViewDelegate>
    

    在xib文件中添加横幅视图,并将此横幅视图与IBOutlet链接

    @property (nonatomic, strong) IBOutlet ADBannerView *iAdBannerView;
    

    添加以下代码以显示您的广告:

    #pragma mark - ADBannerViewDelegate
    - (void)bannerViewDidLoadAd:(ADBannerView *)banner
    {
        NSLog(@"banner loaded");
    
        // Display BannerView
        _iAdBannerView.hidden = NO;
        [UIView animateWithDuration:0.4f
                         animations:^{
                             _iAdBannerView.alpha = 1.0f;
                         }];
    }
    
    - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
    {
        // Print error
        NSLog(@"error banner failed :\n%@", error);
    
        // Hide BannerView
        [UIView animateWithDuration:0.4f
                         animations:^{
                             _iAdBannerView.alpha = 0.0f;
                         } completion:^(BOOL finished) {
                             _iAdBannerView.hidden = YES;
                         }];
    }
    

    通常情况下,当你收到广告时,你的广告横幅会出现,否则就会消失。

        3
  •  0
  •   Joris416    11 年前

    问题是我必须在itunes connect中签署iAd合同,但我还没有签署。现在效果很好!