2015-02-14 3 views
1

Я хочу показать промежуточное объявление iAd только один раз после вызова webViewdidFinishLoad.iAd interstitial после того, как UIWebView закончил загрузку

-(void)viewWillAppear:(BOOL)animated { 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     [self cycleInterstitial]; 
     [self performSelector:@selector(presentInterlude) withObject:nil afterDelay:300]; 
    } 
} 

-(void)cycleInterstitial { 
    // Clean up the old interstitial... 
    interstitial.delegate = nil; 
    // and create a new interstitial. We set the delegate so that we can be notified of when 
    interstitial = [[ADInterstitialAd alloc] init]; 
    interstitial.delegate = self; 
} 

-(void)presentInterlude { 
    // If the interstitial managed to load, then we'll present it now. 
    if (interstitial.loaded) { 
     NSLog(@"Loaded inter"); 
     [interstitial presentFromViewController:self]; 
    } else { 
     NSLog(@"Not Loaded inter"); 
    } 
} 

-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd { 
    [self cycleInterstitial]; 
} 

-(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error { 
    NSLog(@"interstitialAd error: %@",error.description); 
} 

Это работает, но я хочу показать только один ОВР интерстициальные после webViewdidfinishload.

ответ

0

Это можно сделать, установив BOOL, чтобы проверить, был ли показан номер ADInterstitialAd.

@implementation ViewController { 
    BOOL doNotShowAd; 
} 

-(void)viewWillAppear:(BOOL)animated { 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && doNotShowAd == NO) { 
     [self cycleInterstitial]; 
     [self performSelector:@selector(presentInterlude) withObject:nil afterDelay:300]; 
     doNotShowAd = YES; 
    } 
} 
+0

Да, это правильно. Я хочу представить непосредственно ADInterstitialAd, если пользователь откроет приложение и после 300-х годов представит новый ADInterstitialAd, и если пользователь закроет приложение (домашняя кнопка) в течение длительного времени и откроет его снова, появится AdInterstitialAd, и 300-е будут перезапущены. И кто установил i doNotShowAd = NO; ? Или мне это не нужно? – George

+0

Спасибо. Я проверю ваш код сегодня. – George

+0

и как я могу это сделать? если я закрою приложение без завершения, и я назвал приложение на передний план, чем дал мне новый полный iAdInterstitial? – George