使用 iAd 展示广告,不使用 Storyboard 或 Xib

Display Ads with iAd without Storyboard or Xib

我一直在尝试在不使用故事板或 Xib 文件的情况下使横幅广告出现在我的应用程序的底部。遗憾的是,这是行不通的。我已经尝试按照教程进行操作,只是没有添加情节提要,但无济于事。我的项目编译正常,但广告没有显示在模拟器的底部,也没有显示在任何地方。这是我的 viewcontroller.mm 代码的相关示例:

@implementation ViewController
{
    ADBannerView *_bannerView;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview:(_bannerView)];
    self.canDisplayBannerAds = true;

}

header 进口,iAd.framework 包括在内。 header 也有此修改行 @interface ViewController : UIViewController <ADBannerViewDelegate>

导入 iAd 框架,然后在您的 viewcontroller 中设置 self.canDisplayBannerAds = true

此外,请检查您的 device/simulator 设置 - 设置 > 开发人员 > 填充率

如果您希望测试广告始终加载成功,请选择 100%。

您没有初始化 bannerView,如果您不初始化它,就像任何其他 UI 对象一样,您将看不到任何东西。所以首先初始化它,然后将它添加到视图并启用 canDisplayBannerAds 以防止任何错误。

@implementation ViewController{
ADBannerView *_bannerView; }

- (void)viewDidLoad{
[super viewDidLoad];
 self.canDisplayBannerAds = true;
 //_bannerView = [[ADBannerView alloc]initWithFrame:CGRectMake(0,0,320,50)];

//Instead of giving the position when initializing, give the AdType
        bannerView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];

//Then give the position
        [view setFrame:CGRectMake(0, 0, 320, 50)];

[self.view addSubview:(_bannerView)];

}

如@Christophr 所说,在 iOS 测试设备上也启用 iAd 填充率。

应该可以。 希望对你有帮助。