showRewardAds function
dynamic
showRewardAds({
- required BuildContext context,
- Function? callback,
- bool isCompulsory = false,
- Function? onFailedCallback,
- Function? onSkippedCallback,
Implementation
showRewardAds(
{required BuildContext context,
Function? callback,
bool isCompulsory = false,
Function? onFailedCallback,
Function? onSkippedCallback}) async {
final isReward = ((_settings?.adSetting?.rewardAdsInterval ?? 0) >
0 &&
(_settings?.adSetting?.rewardAdsIntervalCount ?? 0) %
(_settings?.adSetting?.rewardAdsInterval ?? 0) ==
0) ||
isCompulsory;
if (!isReward) {
incrementRewardCounter();
if (onFailedCallback != null) {
onFailedCallback();
}
return;
}
showProgressbarDialog(context);
resetTimerDelayed();
Timer? timer;
timer = Timer(
Duration(milliseconds: _settings?.adSetting?.adsTimeout ?? 3000), () {
timer?.cancel();
Navigator.pop(context);
if (onFailedCallback != null) {
onFailedCallback();
}
});
loadRewardAds(
isCompulsory: isCompulsory,
onAdLoadedCallback: () {
if (timer?.isActive == true) {
int remainingTime =
(_settings?.adSetting?.adsLoadingTimeout ?? 1500) -
(timer?.tick ?? 0);
if (remainingTime > 0) {
Future.delayed(
Duration(milliseconds: remainingTime),
() => {
if (timer?.isActive == true)
{
timer?.cancel(),
Navigator.pop(context),
_showRewardedAd(
callback, onFailedCallback, onSkippedCallback)
}
});
} else {
if (timer?.isActive == true) {
timer?.cancel();
Navigator.pop(context);
_showRewardedAd(callback, onFailedCallback, onSkippedCallback);
}
}
}
},
onAdFailedCallback: () => {
if (timer?.isActive == true)
{
Future.delayed(
Duration(milliseconds: _TOTALDELAYD),
() => {
if (timer?.isActive == true)
{
timer?.cancel(),
Navigator.pop(context),
if (onFailedCallback != null) {onFailedCallback()}
}
})
}
});
}