我有一个iAd,在联网时显示正常。在iOS模拟器或测试设备上,如果我打开我的应用程序,看到iAd,然后进入设置并打开飞行模式,然后返回应用程序,广告横幅会从屏幕上滑出。很好。现在,如果我关闭飞行模式(网络连接正常),即使等待10-15分钟后,iAd也不会重新出现。
那么,这是我的问题:
1. iAd测试广告是否与真实的iAd刷新方式相同(每一分钟)? 2. 是否有一种方法可以强制iAd在检测到网络时进行刷新并请求新广告?
我无法找到任何有关测试广告行为的信息,而且在上传应用程序到App Store之前,我无法使用真正的广告进行测试。
这是我的代码:
创建iAd的位置:
委托方法
那么,这是我的问题:
1. iAd测试广告是否与真实的iAd刷新方式相同(每一分钟)? 2. 是否有一种方法可以强制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
的调用仅出现一次 - 不像我期望的那样每分钟刷新广告。
Error Domain=ADErrorDomain Code=1 "The operation couldn’t be completed. (ADErrorDomain error 1.)"
- Andrew_L