loadIntraAds function
void
loadIntraAds(
{ - int pos = 0,
- Function? onAdLoadedCallback,
})
Implementation
void loadIntraAds({int pos = 0, Function? onAdLoadedCallback}) {
if (_settings == null) {
if (onAdLoadedCallback != null) {
onAdLoadedCallback();
}
return;
}
if (_settings?.adsSequence?.isEmpty ?? true) {
if (onAdLoadedCallback != null) {
onAdLoadedCallback();
}
return;
}
if ((_settings?.adsSequence?.length ?? 0) <= pos) {
if (onAdLoadedCallback != null) {
onAdLoadedCallback();
}
return;
}
if (_settings?.adSetting?.appVersionCode == appVersionCode) {
if (onAdLoadedCallback != null) {
onAdLoadedCallback();
}
return;
}
final isInterestial = ((_settings?.adSetting?.interestialAdsInterval ?? 0) >
0 &&
(_settings?.adSetting?.interestialAdsIntervalCount ?? 0) %
(_settings?.adSetting?.interestialAdsInterval ?? 0) ==
0 &&
((getInterestialAdTimeInterval() +
((_settings?.adSetting?.interestialAdsTimingInterval ?? 0) *
1000)) <=
DateTime.now().millisecondsSinceEpoch ||
getInterestialAdTimeInterval() == 0));
switch (_settings?.adsSequence?[pos]) {
case _GOOGLEAD:
case _ADMANAGERAD:
if (((_settings?.googleAds?.interstitialInterval ?? 0) <= 0 &&
isInterestial) ||
((_settings?.googleAds?.interstitialInterval ?? 0) > 0 &&
((_settings?.adSetting?.interestialAdsIntervalCount ?? 0) %
(_settings?.googleAds?.interstitialInterval ?? 0) ==
0))) {
if ((_settings?.googleAds?.isInterstitialAds ?? true) &&
(_settings?.googleAds?.interestialId ?? "").isNotEmpty) {
if (_ADMANAGERAD == _settings?.adsSequence?[pos]) {
_createAdManagerInterstitialAd(pos, onAdLoadedCallback);
return;
}
_createInterstitialAd(pos, onAdLoadedCallback);
return;
}
}
loadIntraAds(pos: pos + 1, onAdLoadedCallback: onAdLoadedCallback);
break;
case _APPLOVINAD:
if (isInterestial || (_settings?.appLovin?.isUnlimitedAds ?? false)) {
if ((_settings?.appLovin?.isInterstitialAds ?? true) &&
(_settings?.appLovin?.interestialId ?? "").isNotEmpty) {
_createAppLovinInterstitialAd(pos, onAdLoadedCallback);
return;
}
}
loadIntraAds(pos: pos + 1, onAdLoadedCallback: onAdLoadedCallback);
break;
case _FACEBOOKAD:
if (((_settings?.facebookAds?.interstitialInterval ?? 0) <= 0 &&
isInterestial) ||
((_settings?.facebookAds?.interstitialInterval ?? 0) > 0 &&
((_settings?.adSetting?.interestialAdsIntervalCount ?? 0) %
(_settings?.facebookAds?.interstitialInterval ?? 0) ==
0))) {
if ((_settings?.facebookAds?.isInterstitialAds ?? true) &&
(_settings?.facebookAds?.interestialId ?? "").isNotEmpty) {
_createFacebookInterstitialAd(pos, onAdLoadedCallback);
return;
}
}
loadIntraAds(pos: pos + 1, onAdLoadedCallback: onAdLoadedCallback);
break;
default:
loadIntraAds(pos: pos + 1, onAdLoadedCallback: onAdLoadedCallback);
break;
}
}