loadInterstitial method
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();
}