loadAndShowRewardAd method

void loadAndShowRewardAd({
  1. dynamic onRewarded(
    1. RewardItem
    )?,
  2. VoidCallback? onDismiss,
})

Implementation

void loadAndShowRewardAd({Function(RewardItem)? onRewarded, VoidCallback? onDismiss}) async {
  if (!isEnableAd || await InternetManager.instance.isOnline == false) {
    onDismiss?.call();
    return;
  }

  if (!mounted) {
    return;
  }

  _rewardedAd?.dispose();
  _rewardedAd = null;
  _isLoadingAd = true;

  showLoadingDialog(context);

  RewardedAd.load(
    adUnitId: rewardedUnitId,
    request: const AdRequest(),
    rewardedAdLoadCallback: RewardedAdLoadCallback(
      onAdLoaded: (RewardedAd ad) {
        // Called when an ad is successfully received.
        debugPrint('Ad was loaded.');
        // Keep a reference to the ad so you can show it later.
        _rewardedAd = ad;

        hideLoadingDialog();
        showRewardAd(onRewarded: onRewarded, onDismiss: onDismiss);
      },
      onAdFailedToLoad: (LoadAdError error) {
        // Called when an ad request failed.
        debugPrint('Ad failed to load with error: $error');

        hideLoadingDialog();
        onDismiss?.call();
      },
    ),
  );
}