iAd错误:
Error Domain=ADErrorDomain Code=3 "The operation couldn’t be completed. Ad inventory unavailable"
UserInfo=0x118bb420 {ADInternalErrorCode=3, ADInternalErrorDomain=ADErrorDomain, NSLocalizedFailureReason=Ad inventory unavailable}
您能否告诉我它的编码问题或Apple网站的问题?
我在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);
}
然后我在Abstract UIViewConroller
Class
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];
提前感谢您的帮助。
答案 0 :(得分:0)
你在模拟器上测试吗?当您在iOS模拟器中测试iAd时,问题可能在于域。尝试在设备上进行测试,如果问题仍然存在,请添加一些有问题的代码,以帮助我们了解实际问题的位置