1

アプリの実行中に何度かインタースティシャル広告を表示しようとしました。それに関するadmobのドキュメントを読んだことがありますが、それは1回限りのオブジェクトのようです。これに対する回避策があるかどうか知りたいです. どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

0

質問が約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()必要なときにだけ走りました。_isInterstitialAdReady == true必要に応じて内部を確認できrunAd()ます

于 2020-10-21T13:34:19.873 に答える