Caricare un singolo annuncio apertura app

Gli annunci apertura app sono un formato speciale destinato ai publisher che vogliono monetizzare le schermate di caricamento delle loro app. Gli annunci apertura app possono essere chiusi in qualsiasi momento e sono progettati per essere mostrati quando gli utenti portano la tua app in primo piano.

Per saperne di più, consulta la guida agli annunci apertura app.

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

Prerequisiti

Configura GMA Next-Gen SDK.

Esegui sempre test con gli annunci di prova

Quando crei e testi le tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione pubblicati. In caso contrario, il tuo account potrebbe essere sospeso.

Per caricare gli annunci di test, utilizza l'ID unità pubblicitaria di test dedicato per gli annunci apertura app per Android:

/21775744923/example/app-open

Questo ID unità pubblicitaria è stato configurato appositamente per restituire annunci di test per ogni richiesta. Puoi utilizzarlo liberamente nelle tue app durante la codifica, i test e il debug. Assicurati di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare l'app.

Per informazioni dettagliate sugli annunci di prova GMA Next-Gen SDK, consulta Attivare gli annunci di prova.

Carica un annuncio

Il seguente esempio mostra come caricare 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 il test, utilizza l'ID unità pubblicitaria di test: /21775744923/example/app-open.

Mostra l'annuncio

Per mostrare un annuncio apertura app, utilizza il metodo show.

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);
}

Ascoltare gli eventi degli annunci

Prima di mostrare l'annuncio, ascolta gli eventi del ciclo di vita dell'annuncio:

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.
        }
      });
}

Avvii a freddo e schermate di caricamento

Un avvio a freddo si verifica quando l'app viene avviata da zero, ad esempio quando un utente apre l'app per la prima volta o dopo la terminazione della memoria. Durante un avvio a freddo, non hai un annuncio apertura app caricato in precedenza pronto per essere mostrato immediatamente.

A causa dei ritardi nelle richieste di annunci, gli utenti potrebbero interagire con la tua app prima che venga visualizzato un annuncio apertura app. Per evitare un'esperienza utente negativa, mostra gli annunci apertura app negli avvii a freddo rigorosamente da una schermata di caricamento durante il caricamento degli asset dell'app. Se il caricamento delle risorse viene completato e l'utente raggiunge i contenuti principali prima del caricamento dell'annuncio, non mostrare l'annuncio.

Carica gli asset dell'app su un thread in background in modo che il caricamento continui mentre l'annuncio viene visualizzato.

Best practice

Segui queste best practice per gli annunci apertura app:

  • Mostra l'annuncio apertura app solo dopo che un utente apre la tua app più volte.
  • Mostra gli annunci apertura app solo mentre gli utenti attendono il caricamento dell'app.
  • Se la schermata di caricamento termina il caricamento mentre l'annuncio viene visualizzato, chiudi la schermata di caricamento nel metodo di callback di chiusura dell'annuncio.