广告错误:
Error Domain=ADErrorDomain Code=3 "The operation couldn’t be completed. Ad inventory unavailable"
UserInfo=0x118bb420 {ADInternalErrorCode=3, ADInternalErrorDomain=ADErrorDomain, NSLocalizedFailureReason=Ad inventory unavailable}
你能告诉我是我的编码问题还是苹果网站的问题?
我在 App Delegate 中分配 iAd 对象,并且代表也在 App Delegate 中。这是代码: -
AppDelegate *appDel=(AppDelegate*)[UIApplication sharedApplication].delegate;
CGRect rect1 = CGRectMake( 0.0,300,320,50);
appDel.adBanner = [[ADBannerView alloc] initWithFrame:rect1];
appDel.adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
appDel.adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[appDel.adBanner setHidden:YES];
appDel.adBanner.delegate = self;
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
AppDelegate *app=(AppDelegate*)[UIApplication sharedApplication].delegate;
NSLog(@"iAd load");
app.adBanner.frame=CGRectMake( 0.0,300,320,50);
app.adBanner.hidden=NO;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
AppDelegate *app=(AppDelegate*)[UIApplication sharedApplication].delegate;
NSLog(@"iAd error: %@", error);
app.adBanner.hidden=YES;
app.adBanner.frame=CGRectMake( 0.0,350,0,0);
}
然后我在抽象UIViewConroller
类中添加横幅
CGFloat y=0;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
CGSize result = [[UIScreen mainScreen] bounds].size;
y=result.height;
}
AppDelegate *app=(AppDelegate*)[UIApplication sharedApplication].delegate;
CGRect rect2 = CGRectMake( 0.0,y-50,320,50);
app.adBanner.frame =rect2;
UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
[topController.view addSubview:app.adBanner];
在此先感谢您的帮助。