2016-06-05 4 views
0

Я реализовал межстраничное объявление на viewDidLoad, но мне нужна помощь в этом. Я хочу, чтобы Interstitial не отображался каждый раз, когда появляется viewDidLoad, например, я хочу, чтобы он показывался один раз. Да, одно время. Чтобы быть чем-то с случаями.IOS Admob Interstitial для объектива-c

  • Случай 1 показать
  • Случай 2 не показывают
  • Случай 3 показать
  • ......

Вот мой код:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:@"a151b7d316a5c1d"]; 
    self.interstitial.delegate = self; 
    [self.interstitial loadRequest: [GADRequest request]]; 
} 
- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial { 
    [interstitial presentFromRootViewController:self]; 
} 

ответ

1

Я делаю то же самое одноразовое, одноразовое с моими объявлениями. Я просто использую по умолчанию для пользователя счетчик. Возможно, попробуйте следующее. Приведенный ниже код написан, чтобы быть ясно, так что это немного долго, но вы могли бы пойти и затянуть его, как только вы знаете, что он делает (например, использовать adCount += 1; вместо adCount = adCount + 1; и т.д. Надеюсь, что это помогает!

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    //Call to your helper method 
    //Stop viewDidLoad here if the method returns NO 

    if (![self _shouldShowInterstitial]) return; 

    self.interstitial = [[GADInterstitial alloc]; 
    initWithAdUnitID:@"a151b7d316a5c1d"]; 
    self.interstitial.delegate = self; 
    [self.interstitial loadRequest: [GADRequest request]]; 
} 

- (BOOL)_shouldShowInterstitial 
{ 
    //1. Recover user default holding a counter 
    BOOL retVal = NO; 
    NSString *adKey = @"shouldShowInterstitialOnLoadDefaultKey"; 
    NSInteger adCount = [[NSUserDefaults standardUserDefaults]integerForKey:adKey]; 

    //2. If the counter is 1, return YES for showing an ad and reset the count to 0 
    if (adCount > 0) { 
     retVal = YES; 
     adCount = 0; 

    //3. If the count is 0, no ad is required, but increment it so next time the ad will show 
    } else { 
     retVal = NO; 
     adCount = adCount + 1; 
    } 

    //4. Save your defaults 
    [[NSUserDefaults standardUserDefaults] setInteger:adCount forKey:adKey]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    //5. Return your bool value 
    return retVal; 
} 
Смежные вопросы