我正在构建一个应用程序,我希望在其中使用 iAd 横幅。我要在其中展示广告的视图控制器是 UIViewController。我正在使用故事板。我完全按照苹果在这里展示/演示的方式实现了 iAd 横幅:
- 添加 iAd 框架
- 导入
"<iAd/iAd.h>"
标头 - 插入
self.canDisplayBannerAds = YES;
但是当我运行我的应用程序时,没有 iAd 出现。我忘记了什么吗?非常感谢你提前
我正在构建一个应用程序,我希望在其中使用 iAd 横幅。我要在其中展示广告的视图控制器是 UIViewController。我正在使用故事板。我完全按照苹果在这里展示/演示的方式实现了 iAd 横幅:
"<iAd/iAd.h>"
标头self.canDisplayBannerAds = YES;
但是当我运行我的应用程序时,没有 iAd 出现。我忘记了什么吗?非常感谢你提前
我有一个不同的问题,但答案也适合你的问题。我更新了旧的 xib 文件(来自 XCode 5.1)以Size Classes
在 XCode 6.0 中使用。更新后的广告仅在 iPhone 4 - 5 和 5s 中显示。iPhone 6 和 iPhone 6 Plus 没有横幅(模拟器显示的结果与外部设备相同)。当使用 xib 文件并使用
self.canDisplayBannerAds = YES;
在我的情况下,我将这个命令从viewDidLoad
toviewDidAppear
和横幅出现了。现在我可以在所有设备中看到横幅。
问题是我必须在 iTunes Connect 中签署 iAd 合同,而我还没有这样做。它现在工作正常!
在您的 .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;
}];
}
通常,您的广告会在您收到广告时出现,否则会消失。