2

我正在构建一个应用程序,我希望在其中使用 iAd 横幅。我要在其中展示广告的视图控制器是 UIViewController。我正在使用故事板。我完全按照苹果在这里展示/演示的方式实现了 iAd 横幅:

  • 添加 iAd 框架
  • 导入"<iAd/iAd.h>"标头
  • 插入 self.canDisplayBannerAds = YES;

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

4

3 回答 3

1

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

self.canDisplayBannerAds = YES;

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

于 2014-12-09T17:57:55.513 回答
0

问题是我必须在 iTunes Connect 中签署 iAd 合同,而我还没有这样做。它现在工作正常!

于 2014-01-04T19:56:38.693 回答
0

在您的 .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;
                     }];
}

通常,您的广告会在您收到广告时出现,否则会消失。

于 2013-09-21T22:26:57.350 回答