iOS&;Mopub:在慢速网络上加载广告时,应用程序冻结
我的代码如《入门指南》中所述,请参见链接: 问题是,当我启动应用程序时,它将启动viewDidLoad功能,该功能将加载广告。当网络非常缓慢或不存在时,加载广告将冻结应用程序的执行约20秒。这是不可接受的行为。iOS&;Mopub:在慢速网络上加载广告时,应用程序冻结,ios,mopub,Ios,Mopub,我的代码如《入门指南》中所述,请参见链接: 问题是,当我启动应用程序时,它将启动viewDidLoad功能,该功能将加载广告。当网络非常缓慢或不存在时,加载广告将冻结应用程序的执行约20秒。这是不可接受的行为。 有解决方案吗?您可以尝试将loadAd方法链接到计时器,或者更好地使用基于块的可达性。 您可以从中获得可达性 - (void)viewDidLoad { self.adView = [[MPAdView alloc] initWithAdUnitId:@"xxx" size
有解决方案吗?您可以尝试将loadAd方法链接到计时器,或者更好地使用基于块的可达性。 您可以从中获得可达性
- (void)viewDidLoad {
self.adView = [[MPAdView alloc] initWithAdUnitId:@"xxx" size:MOPUB_BANNER_SIZE];
self.adView.delegate = self;
self.adView.frame = CGRectMake(0, self.view.bounds.size.height - MOPUB_BANNER_SIZE.height, MOPUB_BANNER_SIZE.width, MOPUB_BANNER_SIZE.height);
self.adView.keywords = keywords;
[self.view addSubview:self.adView];
[self.adView loadAd];
[super viewDidLoad];
}
// in view header file
NSTimer * aTimer;
//in implementation
-(void)viewDidLoad
{
...
[self.view addSubview:self.adView];
[self.adview setHidden:YES];
[self loadAdIfReachable];
...
}
-(void) loadAdIfReachable{
// Allocate a reachability object
Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];
// Set the blocks
reach.reachableBlock = ^(Reachability*reach)
{
NSLog(@"REACHABLE!");
[self.adview setHidden:NO];
[self.adView loadAd];
};
}