AdMob interstitial仅在iOS上显示一次

时间:2014-06-22 10:53:18

标签: ios admob interstitial

我在iOS应用中使用了admob interstitial。 我只能显示插页式广告一次,显示新插页式广告的任何进一步请求都会失败(从不调用委托)。

我的代码如下:

-(void) viewDidLoad
{
  [super viewDidLoad];
  [self allocateAndDisplayAd];
}

-(void) allocateAndDisplayAd
{
  splashInterstitial_ = [[GADInterstitial alloc] init];
  splashInterstitial_.adUnitID = @"ca-app-pub-MY-ID";
  splashInterstitial_.delegate = self;

  GADRequest *requestInterstitial = [GADRequest request];
  [splashInterstitial_ loadRequest: requestInterstitial];
}

// below functions delegate are never triggered when requesting a new interstitial !!
- (void)interstitialDidReceiveAd:(GADInterstitial *)ad
{
    [splashInterstitial_ presentFromRootViewController: self];
}

- (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error
{
  splashInterstitial_ = nil;
}

- (void)interstitialDidDismissScreen:(GADInterstitial *)ad
{
  splashInterstitial_ = nil;
}

当app启动时(从viewDidLoad请求完成)正确显示插页式广告,然后任何新请求(对allocateAndDisplayAd的调用)都失败(没有错误消息,委托函数从未调用过)。

我试图设置splashInterstitial_ = nil;因此,我确定下一个请求会重新分配新的插页式广告,但无法展示多个广告。

任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:0)

好的,我发现了我的问题

任何显示来自applicationWillEnterForeground的插页式广告的请求都将被忽略... 我的第二个请求是从applicationWillEnterForeground

完成的