loadAndShowAd method
Implementation
void loadAndShowAd({VoidCallback? onDismissAd}) async {
if (!isEnableAd || await InternetManager.instance.isOnline == false) {
onDismissAd?.call();
return;
}
if (!_isLoadingAd && _interstitialAd != null) {
showAd(onDismissAd: onDismissAd);
return;
}
if (!_isLoadingAd && _interstitialAd == null && mounted) {
_isLoadingAd = true;
showDialogLoading(context);
InterstitialAd.load(
adUnitId: interstitialUnitId,
request: const AdRequest(),
adLoadCallback: InterstitialAdLoadCallback(
onAdLoaded: (InterstitialAd ad) {
_interstitialAd = ad;
hideLoadingDialog();
showAd(onDismissAd: onDismissAd);
},
onAdFailedToLoad: (LoadAdError error) {
onDismissAd?.call();
hideLoadingDialog();
loadAd();
},
),
);
}
}