loadInterstitial method

Future<void> loadInterstitial()

Manual load Interstitial Ad.

Implementation

Future<void> loadInterstitial() {
  if (_interstitial != null) {
    return _interstitial!.load();
  }
  _interstitial = CASInterstitial.createAndLoad(
    casId: _casId,
    autoReload: _isInterstitialAutoload &&
        !casInternalBridge.deprecatedManualLoadUsed,
    autoShow: _isInterstitialAutoshow,
    minInterval: -1,
    onAdLoaded: (ad) {
      _loadCallback?.onAdLoaded(AdType.Interstitial);
    },
    onAdFailedToLoad: (ad, error) {
      _loadCallback?.onAdFailedToLoad(AdType.Interstitial, error.message);
    },
    onAdFailedToShow: (ad, error) {
      if (_interstitialCallback != null) {
        _interstitialCallback?.onShowFailed(error.message);
        _interstitialCallback = null;
      } else {
        _appReturnCallback?.onShowFailed(error.message);
      }
    },
    onAdShowed: (ad) {
      AdCallback? callback = _interstitialCallback ?? _appReturnCallback;
      callback?.onShown();
    },
    onAdClicked: (ad) {
      AdCallback? callback = _interstitialCallback ?? _appReturnCallback;
      callback?.onClicked();
    },
    onAdDismissed: (ad) {
      if (_interstitialCallback != null) {
        _interstitialCallback?.onClosed();
        _interstitialCallback = null;
      } else {
        _appReturnCallback?.onClosed();
      }
    },
    onAdImpression: (ad, info) async {
      AdCallback? callback = _interstitialCallback ?? _appReturnCallback;
      _handleAdImpression(callback, info, AdType.Interstitial);
    },
  );
  return Future.value();
}