loadAd method

dynamic loadAd({
  1. required BuildContext context,
  2. required dynamic onLoaded(),
  3. required dynamic onComplete(),
  4. required dynamic onFailed(),
})

Implementation

loadAd({
  required BuildContext context,
  required Function() onLoaded,
  required Function() onComplete,
  required Function() onFailed,
}) {
  MainJson mainJson = context.read<MainJson>();
  InterstitialAd.load(
    adUnitId: !mainJson.isTestOn
        ? '${mainJson.data!['adIds']['google']['fullScreen']}'
        : Platform.isIOS
        ? 'ca-app-pub-3940256099942544/4411468910'
        : 'ca-app-pub-3940256099942544/1033173712',
    request: const AdRequest(),
    adLoadCallback: InterstitialAdLoadCallback(
      onAdLoaded: (ad) {
        ad.fullScreenContentCallback = FullScreenContentCallback(
          onAdShowedFullScreenContent: (ad) {},
          onAdImpression: (ad) {},
          onAdFailedToShowFullScreenContent: (ad, err) {
            onFailed();
            ad.dispose();
          },
          onAdDismissedFullScreenContent: (ad) {
            onComplete();

            ad.dispose();
          },
          onAdClicked: (ad) {},
        );

        interstitialAd = ad;
        onLoaded();
        interstitialAd!.show();
      },
      onAdFailedToLoad: (LoadAdError error) {
        onFailed();
      },
    ),
  );
}