我已经看过很多教程,相信已经做了所有的事情,但仍然无法弄清楚,bannerview不会随时显示广告,我甚至在bannerViewDidLoadAd、didFailToReceiveAdWithError中放了日志消息,但这些消息也不会显示。这是代码
我已经在iTunesConnect的货币化下注册了我的账户,但税务信息待定。此外,我的应用程序只在人像模式下运行,所以不需要处理横向。
In.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
{
}
给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
我也遇到了同样的问题。我最终访问了iTunes Connect,点击了iAd部分。然后我同意了一些合同,并去了iAd工作台区域。在那里,我不再费心去做了,因为我还没有到想为我正在开发的游戏做广告的地步。
我没有更改任何代码,但我的iOS游戏仍在运行。令我惊讶的是,在我同意iTunes Connect中的iAd协议后,广告就开始出现了!