正如我所说,我的iAd有时会工作,但有时它不起作用。它通常在第一次模拟器运行期间工作但是如果我开始打开不同的页面它开始不起作用所以我的代码强制横幅关闭自己(苹果规则)它真的很奇怪,因为我不知道它为什么这样做有时它没有任何问题,无论有多少视图控制器我传递它继续工作,但如果它开始不工作,那么它一直不适用于许多viewcontrollers(有不同的h和m文件)然后突然它开始工作,并在几个成功的广告显示它开始不再工作。我可以说它的工作succses低于%40所以我必须解决它。
这与apple iad服务器有关吗?
我正在模拟器5.1上测试我的应用程序,我只能接收我的横幅的iad测试广告,所以它们是否是这个奇怪问题的原因?
对于iAd来说这是正常的事吗?
我的代码是否应该归咎于缺少什么?
是关于重新启动iAd还是我可以强制它再次尝试打开iad?
如果你对这个iad有所了解,请帮助我!
h file
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface a1viewcontroller : UIViewController < UIImagePickerControllerDelegate, UINavigationControllerDelegate > {
ADBannerView *banner;
}
@property (nonatomic, assign)BOOL bannerIsVisible;
@property (nonatomic, retain)IBOutlet ADBannerView *banner;
@end
m file
@synthesize banner, bannerIsVisible;
-(void)bannerViewDidLoad: (ADBannerView *)abanner {
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animatedAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0.0, 50.0);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
-(void)bannerView:(ADBannerView *)aBanner {
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animatedAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0.0, -320.0);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
其他视图控制器的代码相同。
答案 0 :(得分:0)
您可以使用以下方法查看横幅的问题。
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
NSLog(@"%@",error.localizedDescription);
}
确保您设置了bannerview的代表。
我的猜测是与iAd服务器有关。 (不知道iOS 6中是否有太大变化。)
答案 1 :(得分:0)
Apple文档说:
“在开发应用程序时,iAd Network会向您的应用程序发送测试广告。为了帮助您验证实施,iAd网络偶尔会返回错误以测试您的错误处理代码。”
同样在我的应用程序中iad返回正确横幅,错误3,错误5 ...的混合
我认为,当应用程序发布后iAd将从“iAd Network服务测试广告”更改为“iAd Network提供实时广告(如果您签署了iAd网络协议并为您的应用启用了广告”)后,此问题将会消失