我在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;因此,我确定下一个请求会重新分配新的插页式广告,但无法展示多个广告。
任何帮助将不胜感激。 感谢
答案 0 :(得分:0)
好的,我发现了我的问题
任何显示来自applicationWillEnterForeground的插页式广告的请求都将被忽略... 我的第二个请求是从applicationWillEnterForeground
完成的