loadRewardAds function
void
loadRewardAds({})
Implementation
void loadRewardAds({int pos = 0,
int retry = 0,
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 adsJson = getCurSeqData(_settings?.rewardsAdsSequence, pos);
var seqName = adsJson.containsKey("seq_name") ? adsJson["seq_name"] : "";
dynamic adsModel = adsJson.containsKey("ads") ? adsJson["ads"] : null;
if (adsModel != null) {
switch (seqName) {
case GOOGLEAD:
case ADMANAGERAD:
case APPLOVINAD:
case FACEBOOKAD:
if (adsModel is AdsModel) {
AdsModel ads = adsModel;
if ((ads.isRewardAd ?? false) && (ads.rewardAdId ?? "").isNotEmpty) {
if (seqName == GOOGLEAD) {
_createRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewardAdId ?? "", onAdFailedCallback);
}
if (seqName == ADMANAGERAD) {
_createAdmanagerRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewardAdId ?? "", onAdFailedCallback);
}
if (seqName == APPLOVINAD) {
_createAppLovinRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewardAdId ?? "", onAdFailedCallback);
}
if (seqName == FACEBOOKAD) {
_createFacebookRewardedAd(pos, retry, onAdLoadedCallback,
ads.rewardAdId ?? "", onAdFailedCallback);
}
return;
}
}
await incrementRewardSequence();
loadRewardAds(
pos: pos + 1,
retry: retry,
onAdLoadedCallback: onAdLoadedCallback,
onAdFailedCallback: onAdFailedCallback);
break;
default:
await incrementRewardSequence();
loadRewardAds(
pos: pos + 1,
retry: retry,
onAdLoadedCallback: onAdLoadedCallback,
onAdFailedCallback: onAdFailedCallback);
break;
}
}
}