loadAd method Null safety

void loadAd()

Load an AppOpenAd.

Implementation

void loadAd() {
  // We will implement this below.
  AppOpenAd.load(
    adUnitId: adUnitId,
    orientation: AppOpenAd.orientationPortrait,
    request: AdRequest(
      contentUrl: "https://unitut.ml/what/",
      nonPersonalizedAds: false,
      neighboringContentUrls: [
        "https://blog.unitut.ml",
        "https://tutor.unitut.ml/what/",
      ],
      keywords: [
        "Online tutor",
        "Grade 12",
        "Matric",
        "Past Question papers",
        "Memorandum for grade 12",
        "Online studying",
        "Examinations",
        "Maths",
        "Physics",
        "Geography",
        "Study tips",
        "Passing with flying colors",
        "PDF",
        "Download",
        DateTime.now().toIso8601String(),
      ],
    ),
    adLoadCallback: AppOpenAdLoadCallback(
      onAdLoaded: (ad) {
        // Set the fullScreenContentCallback and show the ad.
        ad.fullScreenContentCallback = FullScreenContentCallback(
          onAdShowedFullScreenContent: (ad) {
            log('$ad onAdShowedFullScreenContent');
          },
          onAdFailedToShowFullScreenContent: (ad, error) {
            log('$ad onAdFailedToShowFullScreenContent: $error');

            ad.dispose();
            loadAd();
          },
          onAdDismissedFullScreenContent: (ad) {
            log('$ad onAdDismissedFullScreenContent');

            ad.dispose();
          },
        );

        /// show the ad
        ad.show();
      },
      onAdFailedToLoad: (error) {
        FirebaseCrashlytics.instance.recordError(error, StackTrace.empty);
        log(
          'AppOpenAd failed to load: $error',
          error: error,
        );
        // Handle the error.
      },
    ),
  );
}