Wczytywanie pojedynczej reklamy pełnoekranowej

Reklamy pełnoekranowe zakrywają interfejs aplikacji. Wyświetlaj je w naturalnych momentach przejściowych w aplikacji, np. między działaniami lub podczas przerw między poziomami gry. Gdy aplikacja wyświetla reklamę pełnoekranową, użytkownicy mogą w nią kliknąć i przejść dalej lub zamknąć reklamę i wrócić do aplikacji. Przeczytaj jedno z naszych studiów przypadku.

Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacją na Androida.

Wymagania wstępne

Skonfiguruj GMA Next-Gen SDK.

Zawsze testuj reklamy testowe

Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie reklam produkcyjnych. Jeśli nie będziesz używać reklam testowych, Google może zawiesić Twoje konto.

Najłatwiejszym sposobem na wczytanie reklam testowych jest użycie identyfikatora testowej jednostki reklamowej dla reklam pełnoekranowych na Androida:

ca-app-pub-3940256099942544/1033173712

Ten identyfikator jednostki reklamowej został specjalnie skonfigurowany tak, aby zwracać reklamy testowe w odpowiedzi na każde żądanie. Możesz go używać w swoich aplikacjach podczas kodowania, testowania i debugowania. Przed opublikowaniem aplikacji zastąp go własnym identyfikatorem jednostki reklamowej.

Więcej informacji o reklamach testowych GMA Next-Gen SDK znajdziesz w artykule Włączanie reklam testowych.

Wczytywanie reklamy

Poniższy przykład pokazuje, jak wczytać pojedynczą reklamę:

Kotlin

// Load ads after you initialize MobileAds.
InterstitialAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<InterstitialAd> {
    override fun onAdLoaded(ad: InterstitialAd) {
      // Interstitial ad loaded.
      interstitialAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // Interstitial ad failed to load.
      Log.e(TAG, "Interstitial ad failed to load: ${adError.message}")
      interstitialAd = null
    }
  },
)

Java

// Load ads after you initialize MobileAds.
InterstitialAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<InterstitialAd>() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd ad) {
        // Interstitial ad loaded.
        interstitialAd = ad;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError adError) {
        // Interstitial ad failed to load.
        Log.e(TAG, "Interstitial ad failed to load: " + adError.getMessage());
        interstitialAd = null;
      }
    });

Podczas testowania użyj identyfikatora testowej jednostki reklamowej: ca-app-pub-3940256099942544/1033173712.

Wyświetlanie reklamy

Aby wyświetlić reklamę pełnoekranową, użyj metody show.

Kotlin

private fun showAd(interstitialAd: InterstitialAd, activity: Activity) {
  // Show the ad.
  interstitialAd.show(activity)
}

Java

private void showAd(InterstitialAd interstitialAd, Activity activity) {
  // Show the ad.
  interstitialAd.show(activity);
}

Nasłuchiwanie zdarzeń związanych z reklamami

Zanim wyświetlisz reklamę, nasłuchuj zdarzeń związanych z cyklem życia reklamy:

Kotlin

// Listen for ad events.
val ad = interstitialAd
if (ad == null) {
  Log.e(TAG, "Interstitial ad is not ready yet.")
  return
}

ad.adEventCallback =
  object : InterstitialAdEventCallback {
    override fun onAdShowedFullScreenContent() {
      // Interstitial ad did show.
    }

    override fun onAdDismissedFullScreenContent() {
      // Interstitial ad did dismiss.
      interstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(
      fullScreenContentError: FullScreenContentError
    ) {
      // Interstitial ad failed to show.
      Log.e(TAG, "Interstitial ad failed to show: ${fullScreenContentError.message}")
    }

    override fun onAdImpression() {
      // Interstitial ad did record an impression.
    }

    override fun onAdClicked() {
      // Interstitial ad did record a click.
    }
  }

Java

// Listen for ad events.
if (interstitialAd == null) {
  Log.e(TAG, "Interstitial ad is not ready yet.");
  return;
}

interstitialAd.setAdEventCallback(
    new InterstitialAdEventCallback() {
      @Override
      public void onAdShowedFullScreenContent() {
        // Interstitial ad did show.
      }

      @Override
      public void onAdDismissedFullScreenContent() {
        // Interstitial ad did dismiss.
        interstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(
          @NonNull FullScreenContentError fullScreenContentError) {
        // Interstitial ad failed to show.
        Log.e(TAG, "Interstitial ad failed to show: " + fullScreenContentError.getMessage());
      }

      @Override
      public void onAdImpression() {
        // Interstitial ad did record an impression.
      }

      @Override
      public void onAdClicked() {
        // Interstitial ad did record a click.
      }
    });