我有一个iAd,在连接到网络时显示正常。在iOS模拟器上或在我的设备上进行测试,如果我打开我的应用程序,请参阅iAd,然后转到设置并打开飞行模式,然后返回到应用程序,横幅滑出屏幕。大。现在,如果我关闭飞机模式(网络打开),即使等待10-15分钟后,iAd也不会重新出现。
所以,这是我的问题:
iAd测试广告是否刷新自己与真正的iAd相同(每分钟左右)?
当检测到网络时,有没有办法强制iAd刷新并请求新广告?
我无法在任何地方找到有关测试广告行为的信息,在将应用程序上传到App Store之前,我无法使用真实广告进行测试(对吗?)
继承我的代码:
创建iAd的位置:
- (void)viewDidLoad
{
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 410, 320, 50)];
adView.frame = CGRectOffset(adView.frame, 0, 50);
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[self.view addSubview:adView];
adView.delegate=self;
self.bannerIsVisible=NO;
[super viewDidLoad];
}
委托方法:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"AdWin");
if (!self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, -50);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"AdLose");
if (self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, 50);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
委托方法NSLog
只会出现一次 - 而不是每分钟,就像广告得到刷新一样。
答案 0 :(得分:2)
1-是和现场广告一样,有些时候没有广告,可能是几个小时。我相信刷新周期是3分钟,但似乎苹果可以改变它 2-你不应该,当正确设置时,这会自动发生。我有一个广告应用,在切换网络或使用飞机设置时行为正确
现在,似乎有关于飞机设置的内容,请参阅此主题:iAds Loading Throttled After Re-Launching App From Background (Also Happens In iAdSuite),但我没有最终答案。也许你可以通过将didFail中的NSLog更改为NSLog(@“%@”,错误)来检查更多信息。 啊,确实没有办法用真实广告进行测试,直到它在appstore中被接受为止。