Annunci interstitial

Gli annunci interstitial sono annunci a schermo intero che coprono l'interfaccia dell'app host. In genere vengono 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ò scegliere se toccarlo e andare alla sua destinazione oppure se 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

Esegui sempre test con annunci di prova

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

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

ca-app-pub-3940256099942544/1033173712

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

Per ulteriori informazioni su come funzionano gli annunci di prova dell'SDK Mobile Ads, consulta Annunci di prova.

Carica un annuncio

Per caricare un annuncio interstitial, chiama il metodo InterstitialAd statico load() e trasmetti un InterstitialAdLoadCallback per ricevere l'annuncio caricato o eventuali errori. Come puoi vedere, come i callback di caricamento di altri formati, InterstitialAdLoadCallback sfrutta LoadAdError per fornire dettagli dell'errore più precisi.

Java

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private InterstitialAd mInterstitialAd;
  private static final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdRequest adRequest = new AdRequest.Builder().build();

    InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
        new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        mInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mInterstitialAd: InterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      var adRequest = AdRequest.Builder().build()

      InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: InterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mInterstitialAd = interstitialAd
        }
      })
    }
}

Impostazione di FullScreenContentCallback

L'elemento FullScreenContentCallback gestisce gli eventi relativi alla visualizzazione del tuo InterstitialAd. Prima di mostrare InterstitialAd, assicurati di impostare il callback:

Java

mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
  @Override
  public void onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.");
  }

  @Override
  public void onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    // Set the ad reference to null so you don't show the ad a second time.
    Log.d(TAG, "Ad dismissed fullscreen content.");
    mInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mInterstitialAd = null;
  }

  @Override
  public void onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.");
  }

  @Override
  public void onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.");
  }
});

Kotlin

mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
  override fun onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.")
  }

  override fun onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    Log.d(TAG, "Ad dismissed fullscreen content.")
    mInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mInterstitialAd = null
  }

  override fun onAdImpression() {
    // Called when an impression is recorded for an ad.
    Log.d(TAG, "Ad recorded an impression.")
  }

  override fun onAdShowedFullScreenContent() {
    // Called when ad is shown.
    Log.d(TAG, "Ad showed fullscreen content.")
  }
}

Mostra l'annuncio

Gli annunci interstitial devono essere visualizzati durante le pause naturali nel flusso di un'app. Tra i livelli di un gioco è un buon esempio o dopo che l'utente ha completato un'attività. Per mostrare un annuncio interstitial, usa il metodo show().

Java

if (mInterstitialAd != null) {
  mInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mInterstitialAd != null) {
  mInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

Alcune best practice

Valuta se gli annunci interstitial sono il tipo giusto di annuncio 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 vista del genere. Assicurati di considerare in quali punti del flusso di lavoro della tua app mostreremo gli annunci interstitial e le probabilità che l'utente reagisca.
Ricorda di mettere in pausa l'azione quando mostri un annuncio interstitial.
Esistono vari tipi di annunci interstitial: di testo, illustrati, video e altro ancora. È importante assicurarsi che quando l'app visualizza un annuncio interstitial, sospende anche l'utilizzo di alcune risorse per consentire all'annuncio di usufruirne. Ad esempio, quando effettui la chiamata per visualizzare un annuncio interstitial, assicurati di mettere in pausa l'output audio prodotto dalla tua app.
Attendere un tempo di caricamento adeguato.
Così è importante assicurarsi che gli annunci interstitial vengano visualizzati al momento giusto, così è importante anche che l'utente non debba attendere il loro caricamento. Caricando in anticipo l'annuncio chiamando load() prima di effettuare la chiamata, show() puoi assicurarti che l'annuncio interstitial della tua app sia completamente caricato e pronto quando è il momento di mostrarne uno.
Non inondare l'utente di annunci.
Anche se l'aumento della frequenza degli annunci interstitial nella tua app può sembrare un ottimo modo per aumentare le entrate, può anche ridurre l'esperienza utente e le percentuali di clic. Assicurati che gli utenti non vengano interrotti così spesso da non essere più in grado di utilizzare la tua app.

Codice sorgente

Esempi su GitHub

Casi di successo

Passaggi successivi