BannerView没有显示iAd

时间:2013-08-29 18:05:54

标签: objective-c ios6 iad adbannerview

我已经完成了很多教程并相信已经完成了所有工作,但仍然无法弄清楚,bannerview不会随时显示广告,我甚至将日志消息放在bannerViewDidLoadAd,didFailToReceiveAdWithError中,但那些也没有显示出来。这是代码

我已经在iTunesConnect中通过货币化注册了我的帐户,但税务信息正在等待。此外,我的应用程序仅在potrait模式下运行,因此无需处理横向。

在.h文件中:

#import <UIKit/UIKit.h>
#import <iAd/iAd.h>

@interface MBViewController : UIViewController <ADBannerViewDelegate>
@property (strong, nonatomic) ADBannerView *bannerView;
@end

在.m文件中:

- (void)viewDidLoad
{
    [super viewDidLoad];

    _bannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    _bannerView.delegate = self;
    _bannerView.hidden = YES;

    [self.view addSubview:_bannerView];
}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    NSLog(@"bannerViewDidLoadAd");
    CGRect bannerFrame = CGRectMake(0.0, (self.view.frame.size.height - 50), 0.0, 0.0);
    [self.bannerView setFrame:bannerFrame];
    self.bannerView.hidden = NO;
}

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"Error receive ad: %@", error);
    self.bannerView.hidden = YES;
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner
               willLeaveApplication:(BOOL)willLeave
{
    return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner
{

}

2 个答案:

答案 0 :(得分:0)

如何为bannerView提供尺寸?

从你的代码:

_bannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];

宽度= 0,高度= 0

在这里你只需更新位置:

CGRect bannerFrame = CGRectMake(0.0, (self.view.frame.size.height - 50), 0.0, 0.0);

宽度= 0,高度= 0

答案 1 :(得分:0)

我遇到了同样的问题。我最终去了iTunes Connect,然后点击了iAd部分。然后我同意了一些合同,然后去了iAd Workbench区域。在那里,我没有再费心了,因为我还没有想要宣传我正在开发的游戏。

我没有更改任何代码,但我的iOS游戏仍在运行。令我惊讶的是,在我同意iTunes Connect中的iAd协议后,广告就开始出现了!