createRewardedAd method
<------------------------ Load Rewarded Ad ------------------------>
Implementation
// Function to create a rewarded ad.
Future<void> createRewardedAd(
BuildContext context, {
int maxFailedLoadAttempts = 5,
}) async {
if (!AdmobEasy.instance.isConnected.value ||
AdmobEasy.instance.rewardedAdID.isEmpty) {
log('Rewarded ad cannot load');
return;
}
await RewardedAd.load(
adUnitId: AdmobEasy.instance.rewardedAdID,
request: const AdRequest(),
rewardedAdLoadCallback: RewardedAdLoadCallback(
onAdLoaded: (RewardedAd ad) {
// Ad loaded successfully.
log('$ad loaded.');
rewardedAd = ad;
_numRewardedLoadAttempts = 0;
},
onAdFailedToLoad: (LoadAdError error) async {
// Ad failed to load.
log('RewardedAd failed to load: $error');
rewardedAd = null;
_numRewardedLoadAttempts += 1;
log(
'Num Rewarded Load Attempts $_numRewardedLoadAttempts',
);
if (_numRewardedLoadAttempts < maxFailedLoadAttempts) {
await Future.delayed(const Duration(seconds: 2), () {
if (!context.mounted) return;
createRewardedAd(context);
});
} else {
_numRewardedLoadAttempts = 0;
}
},
),
);
}