showInterstitialAd method

void showInterstitialAd({
  1. required String interstitialID,
  2. VoidCallback? onAdClosed,
})
override

Implementation

showInterstitialAd(
    {required String interstitialID, VoidCallback? onAdClosed}) {
  loadInterstitialAd(interstitialID: interstitialID);
  interstitialAdRunning = true;
  if (interstitialAdRunning) {
    interstitialAds?.fullScreenContentCallback = FullScreenContentCallback(
      onAdShowedFullScreenContent: (ad) =>
          print('Ad showed fullscreen content.'),
      onAdDismissedFullScreenContent: (ad) {
        interstitialAds?.dispose();
        loadInterstitialAd(interstitialID: interstitialID);
        interstitialAdRunning = false;
        print('Ad dismissed fullscreen content.');
        if (onAdClosed != null) {
          onAdClosed();
        }
        box.write(ArgumentConstant.isStartTime,
            DateTime.now().millisecondsSinceEpoch.toString());
      },
      onAdFailedToShowFullScreenContent: (ad, error) {
        interstitialAdRunning = false;
        if (onAdClosed != null) {
          onAdClosed();
        }
        print('Ad failed to show fullscreen content: $error');
      },
    );
    interstitialAds?.show();
  } else {
    print('Interstitial ad is not loaded yet.');
    loadInterstitialAd(
        interstitialID:
            interstitialID); // Load a new ad if not already loaded
  }
}