网络断开后的iAd刷新
问题描述:
我有一个连接到网络时显示正常的iAd。在iOS模拟器上或在我的设备上测试,如果我打开我的应用程序,看到iAd,然后进入设置并打开飞行模式,并返回到应用程序,横幅滑出屏幕。大。现在,如果我关闭飞行模式(网络打开),则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
调用只出现一次 - 不是每一分钟,就像我期望广告得到刷新一样。
答
1-是和类似的实时广告有一些时候没有广告,它可以是几个小时。我相信刷新周期是3分钟,但它看起来像苹果可以改变它,因为他们将不会需要,当正确设置这会自动发生。我有一个广告应用程序,它切换网络或使用飞机设置时表现正确
现在,似乎有关于飞机设置,请参阅此线程:iAds Loading Throttled After Re-Launching App From Background (Also Happens In iAdSuite),但我没有最终答案。也许你可以通过改变NSLog在didFail ...到NSLog(@“%@”,错误)来检查更多内容,以检查它的确切含义。 啊,事实上没有办法测试真正的广告,直到它被appstore接受。
感谢您的建议。让我感到困惑的是,我在iPhone上使用interent连接启动应用程序(使用xCode),并按预期每60秒获得一次“AdWin”日志。如果我以相同的方式启动应用程序,除了启用飞行模式之后,我只在我的日志中获得“AdLose”一次。我预计它会每60秒失败一次。它给出的错误是:'错误域= ADErrorDomain代码= 1“操作无法完成。(ADErrorDomain错误1。)”' –
我被困在这一点,我相信的关键是你收到一个ADError,在我的测试中,我收到一个NSURL错误,显然NSURL错误处理得很好。我会建议包括一个逻辑,如:当错误是和ADErrorxxx杀死横幅并重新开始它(即释放+ realloc在viewDidLoad)。 – gregory
我打算将其标记为已接受的答案,因为这是最有帮助的。我很满意我的工作,因为我下载了苹果示例程序'iAdSuite',并发现它在相同的条件下给出了相同的错误。谢谢 –