loadRewardAds function
void
loadRewardAds({})
Implementation
void loadRewardAds(
{int pos = 0,
int retry = 0,
bool isCompulsory = false,
Function? onAdLoadedCallback,
Function? onAdFailedCallback}) async {
if (_settings == null) {
resetTimerDelayed();
if (onAdFailedCallback != null) {
onAdFailedCallback();
}
return;
}
if (_settings?.rewardsAdsSequence?.isEmpty ?? true) {
resetTimerDelayed();
if (onAdFailedCallback != null) {
onAdFailedCallback();
}
return;
}
if (_settings?.adSetting?.appVersionCode == appVersionCode) {
resetTimerDelayed();
if (onAdFailedCallback != null) {
onAdFailedCallback();
}
return;
}
if ((_settings?.rewardsAdsSequence?.length ?? 0) <= pos) {
if ((_settings?.adSetting?.adsRetry ?? 0) > 0 &&
(_settings?.adSetting?.adsRetry ?? 0) > retry) {
pos = 0;
retry++;
} else {
resetTimerDelayed();
if (onAdLoadedCallback != null) {
onAdLoadedCallback();
}
return;
}
}
if (_settings?.isAllAds != true) {
resetTimerDelayed();
if (onAdFailedCallback != null) {
onAdFailedCallback();
}
return;
}
final curSeqReward = await currentRewardSequence(pos);
pos = curSeqReward % (_settings?.rewardsAdsSequence?.length ?? 0);
var ads_json = _getCurSeqData(_settings?.rewardsAdsSequence, pos);
var seqName = ads_json.containsKey("seq_name") ? ads_json["seq_name"] : "";
switch (seqName) {
case _GOOGLEAD:
case _ADMANAGERAD:
GoogleAds ads = GoogleAds.fromJson(ads_json["json"]);
if ((ads.isRewaredAds ?? false) && (ads.rewardedId ?? "").isNotEmpty) {
if (_ADMANAGERAD == seqName) {
_createAdmanagerRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewardedId ?? "", onAdFailedCallback);
return;
}
_createRewardedAd(pos, retry, onAdLoadedCallback, ads.rewardedId ?? "",
onAdFailedCallback);
return;
} else {
await incrementRewardSequence();
loadRewardAds(
pos: pos + 1,
retry: retry,
onAdLoadedCallback: onAdLoadedCallback,
onAdFailedCallback: onAdFailedCallback);
}
break;
case _APPLOVINAD:
AppLovin ads = AppLovin.fromJson(ads_json["json"]);
if ((ads.isRewaredAds ?? false) && (ads.rewaredId ?? "").isNotEmpty) {
_createAppLovinRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewaredId ?? "", onAdFailedCallback);
return;
} else {
await incrementRewardSequence();
loadRewardAds(
retry: retry,
pos: pos + 1,
onAdLoadedCallback: onAdLoadedCallback,
onAdFailedCallback: onAdFailedCallback);
}
break;
case _FACEBOOKAD:
FacebookAd ads = FacebookAd.fromJson(ads_json["json"]);
if ((ads.isRewaredAds ?? false) && (ads.rewardedId ?? "").isNotEmpty) {
_createFacebookRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewardedId ?? "", onAdFailedCallback);
return;
} else {
await incrementRewardSequence();
loadRewardAds(
retry: retry,
pos: pos + 1,
onAdLoadedCallback: onAdLoadedCallback,
onAdFailedCallback: onAdFailedCallback);
}
break;
default:
await incrementRewardSequence();
loadRewardAds(
retry: retry,
pos: pos + 1,
onAdLoadedCallback: onAdLoadedCallback,
onAdFailedCallback: onAdFailedCallback);
break;
}
}