Annunci interstitial

Gli annunci interstitial sono annunci a schermo intero che coprono l'interfaccia dell'app host. Vengono in genere visualizzati in punti di transizione naturali nel flusso di un'app, ad esempio tra un'attività e l'altra o durante la pausa tra i livelli di un gioco. Quando un'app mostra un annuncio interstitial, l'utente può toccare l'annuncio e continuare fino alla destinazione oppure chiuderlo e tornare all'app. Leggi uno dei nostri case study.

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

Prerequisiti

  • Completa la Guida introduttiva.
  • Esegui sempre i test con gli annunci di prova

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

    Il modo più semplice per caricare gli annunci di prova è utilizzare il nostro ID unità pubblicitaria di prova dedicato per gli interstitial Android:

    ca-app-pub-3940256099942544/1033173712

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

    Per ulteriori informazioni sul funzionamento degli annunci di test dell'SDK Google Mobile Ads (beta), consulta la pagina Annunci di test.

    Caricare un annuncio

    Per caricare un annuncio, l'SDK Google Mobile Ads (beta) offre quanto segue:

    Caricamento con l'API di caricamento di un singolo annuncio

    L'esempio seguente mostra come caricare un singolo annuncio:

    Kotlin

    import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
    import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
    import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
    import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
    import com.google.android.libraries.ads.mobile.sdk.MobileAds
    
    class InterstitialActivity : Activity() {
      private var interstitialAd: InterstitialAd? = null
    
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    
        // Load ads after you initialize Google Mobile Ads SDK (beta).
        InterstitialAd.load(
          AdRequest.Builder(AD_UNIT_ID).build(),
          object : AdLoadCallback<InterstitialAd> {
            override fun onAdLoaded(ad: InterstitialAd) {
              // Interstitial ad loaded.
              interstitialAd = ad
            }
    
            override fun onAdFailedToLoad(adError: LoadAdError) {
              // Interstitial ad failed to load.
              interstitialAd = null
            }
          },
        )
      }
    
      companion object {
        // Sample interstitial ad unit ID.
        const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
      }
    }
    

    Java

    import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
    import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
    import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
    import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
    import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
    import com.google.android.libraries.ads.mobile.sdk.MobileAds;
    
    class InterstitialActivity extends Activity {
      // Sample interstitial ad unit ID.
      private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
      private InterstitialAd interstitialAd;
    
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        // Load ads after you initialize Google Mobile Ads SDK (beta).
        InterstitialAd.load(
            new AdRequest.Builder(AD_UNIT_ID).build(),
            new AdLoadCallback<InterstitialAd>() {
              @Override
              public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
                // Interstitial ad loaded.
                AdLoadCallback.super.onAdLoaded(interstitialAd);
                InterstitialActivity.this.interstitialAd = interstitialAd;
              }
    
              @Override
              public void onAdFailedToLoad(@NonNull LoadAdError adError) {
                // Interstitial ad failed to load.
                AdLoadCallback.super.onAdFailedToLoad(adError);
                interstitialAd = null;
              }
            }
        );
      }
    }
    

    Caricamento con l'API di precaricamento degli annunci

    Per iniziare il precaricamento:

    1. Inizializza una configurazione di precaricamento con una richiesta di annuncio.

    2. Avvia il precaricamento per gli annunci interstitial con l'ID unità pubblicitaria e la configurazione del precaricamento:

    Kotlin

    private fun startPreloading(adUnitID: String) {
      val adRequest: AdRequest = AdRequest.Builder(adUnitID).build()
      val preloadConfig = PreloadConfiguration(adRequest)
      InterstitialAdPreloader.start(adUnitID, preloadConfig)
    }
    
    

    Java

    private void startPreloading(String adUnitId) {
      AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
      PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
      InterstitialAdPreloader.start(adUnitId, preloadConfig);
    }
    
    

    Gli annunci vengono resi disponibili continuamente man mano che li mostri. L'esempio seguente esegue il polling di un annuncio dal precaricatore:

    Kotlin

    // Polling returns the next available ad and loads another ad in the background.
    val ad = InterstitialAdPreloader.pollAd(adUnitID)
    

    Java

    // Polling returns the next available ad and loads another ad in the background.
    final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
    

    Imposta InterstitialAdEventCallback

    InterstitialAdEventCallback gestisce gli eventi relativi alla visualizzazione di InterstitialAd. Prima di mostrare l'annuncio interstitial, assicurati di impostare il callback:

    Kotlin

    // Listen for ad events.
    interstitialAd?.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.
          interstitialAd = null
        }
    
        override fun onAdImpression() {
          // Interstitial ad did record an impression.
        }
    
        override fun onAdClicked() {
          // Interstitial ad did record a click.
        }
      }
    

    Java

    // Listen for ad events.
    interstitialAd.setAdEventCallback(
        new InterstitialAdEventCallback() {
          @Override
          public void onAdShowedFullScreenContent() {
            // Interstitial ad did show.
            InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
          }
    
          @Override
          public void onAdDismissedFullScreenContent() {
            // Interstitial ad did dismiss.
            InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
            interstitialAd = null;
          }
    
          @Override
          public void onAdFailedToShowFullScreenContent(
              @NonNull FullScreenContentError fullScreenContentError) {
            // Interstitial ad failed to show.
            InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
                fullScreenContentError);
            initerstitialAd = null;
          }
    
          @Override
          public void onAdImpression() {
            // Interstitial ad did record an impression.
            InterstitialAdEventCallback.super.onAdImpression();
          }
    
          @Override
          public void onAdClicked() {
            // Interstitial ad did record a click.
            InterstitialAdEventCallback.super.onAdClicked();
          }
        }
    );
    

    Mostra l'annuncio

    Per mostrare un annuncio interstitial, utilizza il metodo show().

    Kotlin

    // Show the ad.
    interstitialAd?.show(this@InterstitialActivity)
    

    Java

    // Show the ad.
    interstitialAd.show(InterstitialActivity.this);
    

    Alcune best practice

    Valuta se gli annunci interstitial sono il tipo di annuncio giusto per la tua app.
    Gli annunci interstitial funzionano meglio nelle app con punti di transizione naturali. La conclusione di un'attività all'interno di un'app, come la condivisione di un'immagine o il completamento di un livello di un gioco, crea un punto di transizione. Assicurati di considerare in quali punti del flusso di lavoro della tua app mostrerai gli annunci interstitial e come è probabile che l'utente risponda.
    Ricorda di mettere in pausa l'azione quando viene visualizzato un annuncio interstitial.
    Esistono diversi tipi di annunci interstitial: di testo, illustrati, video e altro ancora. È importante assicurarsi che quando la tua app mostra un annuncio interstitial, sospenda anche l'utilizzo di alcune risorse per consentire all'annuncio di sfruttarle. Ad esempio, quando chiami per visualizzare un annuncio interstitial, assicurati di mettere in pausa qualsiasi output audio prodotto dalla tua app.
    Consenti un tempo di caricamento adeguato.
    Proprio come è importante assicurarsi di mostrare gli annunci interstitial al momento opportuno, è anche importante assicurarsi che l'utente non debba attendere il caricamento. Il caricamento anticipato dell'annuncio chiamando load() prima di chiamare show() può garantire che la tua app abbia un annuncio interstitial completamente caricato e pronto quando è il momento di mostrarne uno.
    Non inondare l'utente di annunci.
    Sebbene l'aumento della frequenza degli annunci interstitial nella tua app possa sembrare un ottimo modo per aumentare le entrate, può anche peggiorare l'esperienza utente e ridurre le percentuali di clic. Assicurati che gli utenti non vengano interrotti così spesso da non riuscire più a godersi l'utilizzo della tua app.

    Esempio

    Scarica ed esegui l'app di esempio che mostra l'utilizzo dell'SDK Google Mobile Ads (beta).