Iphone 多次显示间隙ad admob

Iphone 多次显示间隙ad admob,iphone,ios,admob,Iphone,Ios,Admob,在我的应用程序运行期间,我曾多次尝试显示一则插播广告。我读过admob文档,它似乎是一次性使用的对象,我想知道是否有解决方法。任何帮助都将不胜感激。谢谢我知道这个问题大约是8年前的事了,但我也有同样的问题。对我有用的是: import 'package:firebase_admob/firebase_admob.dart'; InterstitialAd _interstitialAd; bool _isInterstitialAdReady; void prepAd(){ initSt

在我的应用程序运行期间,我曾多次尝试显示一则插播广告。我读过admob文档,它似乎是一次性使用的对象,我想知道是否有解决方法。任何帮助都将不胜感激。谢谢

我知道这个问题大约是8年前的事了,但我也有同样的问题。对我有用的是:

import 'package:firebase_admob/firebase_admob.dart';

InterstitialAd _interstitialAd;
bool _isInterstitialAdReady;

void prepAd(){
  initState();
  _loadInterstitialAd();
}

void runAd() {
  _interstitialAd.show();
}

void initState() {
  _isInterstitialAdReady = false;
  _interstitialAd = InterstitialAd(
    adUnitId: InterstitialAd.testAdUnitId,
    listener: _onInterstitialAdEvent,
  );
}


void _loadInterstitialAd() {
  _interstitialAd.load();
}
// TODO: Implement _onInterstitialAdEvent()
void _onInterstitialAdEvent(MobileAdEvent event) {
  switch (event) {
    case MobileAdEvent.loaded:
      _isInterstitialAdReady = true;
      break;
    case MobileAdEvent.failedToLoad:
      _isInterstitialAdReady = false;
      print('Failed to load an interstitial ad');
      break;
    case MobileAdEvent.closed:
      dispose();
      prepAd();
      break;
    default:
    // do nothing
  }
}

void dispose() {// TODO: Dispose InterstitialAd object
  _interstitialAd?.dispose();
}

我在开始时运行了一次
prepAd()
,然后在需要时运行
runAd()
。如果您想在ANDOID平台上出现同样的问题,您可以在
runAd()
内检查
\u IsInterstitualADREADY==true