Caricare un singolo annuncio apertura app

Gli annunci apertura app sono un formato dell'annuncio destinato ai publisher che vogliono monetizzare le schermate di caricamento delle loro app. I tuoi utenti possono chiudere gli annunci apertura app in qualsiasi momento. Quando gli utenti portano la tua app in primo piano, mostra gli annunci apertura app.

Per saperne di più, consulta le indicazioni per gli annunci apertura app.

Questa guida spiega come integrare gli annunci apertura app in un'app per Android.

Prima di iniziare

Prima di continuare, completa queste operazioni:

  • Configura GMA Next-Gen SDK.
  • Utilizza l'ID unità pubblicitaria apertura app di test ca-app-pub-3940256099942544/9257395921.
    • Durante la creazione e il test dell'app, assicurati di utilizzare annunci di prova anziché annunci di produzione pubblicati. Se non utilizzi l'ID unità pubblicitaria di test, Google può sospendere il tuo account.
    • Prima di pubblicare l'app, sostituisci questo ID con l'ID unità pubblicitaria.
    • Per informazioni dettagliate sugli annunci di prova GMA Next-Gen SDK, consulta Attiva gli annunci di prova.

Carica un annuncio

L'esempio seguente carica un singolo annuncio:

Kotlin

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

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

Java

// Load ads after you initialize MobileAds.
AppOpenAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<AppOpenAd>() {
      @Override
      public void onAdLoaded(AppOpenAd ad) {
        // App open ad loaded.
        appOpenAd = ad;
      }

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

Durante i test, utilizza l'ID unità pubblicitaria di test: ca-app-pub-3940256099942544/9257395921.

Mostra l'annuncio

Per mostrare un annuncio apertura app, chiama il metodo show. Gli annunci apertura app scadono quattro ore dopo il caricamento. Non mostrare un annuncio apertura app che si sta caricando da più di quattro ore.

L'esempio seguente mostra l'annuncio:

Kotlin

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

Java

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

Gestisci gli avvii a freddo e le schermate di caricamento

Un avvio a freddo si verifica quando l'app viene avviata dal disco, mentre un avvio a caldo si verifica quando riapri l'app dalla memoria. Durante un avvio a freddo, non hai un annuncio caricato in precedenza disponibile da mostrare. Durante un avvio a caldo, potresti avere ancora un annuncio caricato disponibile da mostrare.

Durante un avvio a freddo, gli utenti potrebbero interagire con l'app prima che venga caricata e mostri un annuncio. Per evitare un'esperienza utente negativa, mostra gli annunci apertura app durante gli avvii a freddo esclusivamente da una schermata di caricamento mentre vengono caricati gli asset dell'app. Mentre gli utenti attendono il caricamento dell'app, mostra gli annunci apertura app. Non mostrare un annuncio apertura app al primo avvio dell'app. Se il caricamento degli asset viene completato e gli utenti raggiungono i contenuti principali prima del caricamento dell'annuncio, non mostrare l'annuncio.

Carica gli asset per app su un thread in background per continuare il caricamento mentre l'annuncio viene mostrato. Se la schermata di caricamento termina il caricamento mentre l'annuncio viene mostrato, chiudila nel metodo di callback di chiusura dell'annuncio.

Ascolta gli eventi degli annunci

Prima di mostrare l'annuncio, ascolta gli eventi del ciclo di vita dell'annuncio. L'esempio seguente registra i callback per gli eventi degli annunci:

Kotlin

private fun listenToAdEvents() {
  // Listen for ad events.
  val ad = appOpenAd
  if (ad == null) {
    Log.e(TAG, "App open ad is not ready yet.")
    return
  }

  ad.adEventCallback =
    object : AppOpenAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // App open ad did show.
      }

      override fun onAdDismissedFullScreenContent() {
        // App open ad did dismiss.
        appOpenAd = null
      }

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

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

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

Java

private void listenToAdEvents() {
  // Listen for ad events.
  if (appOpenAd == null) {
    Log.e(TAG, "App open ad is not ready yet.");
    return;
  }

  appOpenAd.setAdEventCallback(
      new AppOpenAdEventCallback() {
        @Override
        public void onAdShowedFullScreenContent() {
          // App open ad did show.
        }

        @Override
        public void onAdDismissedFullScreenContent() {
          // App open ad did dismiss.
          appOpenAd = null;
        }

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

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

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