loadAd method
Load an AppOpenAd.
Implementation
void loadAd({int pos = 0, Function? callback, Function? onFailedCallback}) {
final _settings = getAdsSettings();
if (_settings == null ||
(_settings.adSetting?.appVersionCode == appVersionCode) ||
(_settings.openAdsSequence?.isEmpty ?? true) ||
(getAdsSettings()?.isAllAds ?? false) == false ||
((_settings.openAdsSequence?.length ?? 0) <= pos)) {
if (onFailedCallback != null) {
onFailedCallback();
}
return;
}
switch (_settings.openAdsSequence?[pos]) {
case _GOOGLEAD:
case _ADMANAGERAD:
final adUnitId = _settings.googleAds?.appOpenAdId ?? "";
if (adUnitId.isEmpty || !(_settings.googleAds?.isOpenAds ?? false)) {
loadAd(pos: pos + 1, callback: callback);
return;
}
AppOpenAd.load(
adUnitId: adUnitId,
orientation: AppOpenAd.orientationPortrait,
request: AdRequest(),
adLoadCallback: AppOpenAdLoadCallback(
onAdLoaded: (ad) {
_appOpenLoadTime = DateTime.now();
_appOpenAd = ad;
if (callback != null) {
callback();
}
},
onAdFailedToLoad: (error) {
_appOpenAd = null;
loadAd(pos: pos + 1, callback: callback);
},
),
);
break;
case _APPLOVINAD:
final adUnitId = _settings.appLovin?.openId ?? "";
if (adUnitId.isEmpty || !(_settings.appLovin?.isOpenAds ?? false)) {
loadAd(pos: pos + 1, callback: callback);
return;
}
AppLovinOpenAd.load(
adUnitId: adUnitId,
adLoadCallback: AppLovinOpenAdLoadCallback(
onAdLoaded: (ad) {
_appOpenLoadTime = DateTime.now();
_appLovinOpenAd = ad;
if (callback != null) {
callback();
}
},
onAdFailedToLoad: (error) {
_appLovinOpenAd = null;
loadAd(pos: pos + 1, callback: callback);
},
),
);
break;
default:
loadAd(pos: pos + 1, callback: callback);
break;
}
}