Annunci interstitial

Gli interstitial sono annunci a schermo intero che coprono l'interfaccia dell'app host. In genere, vengono mostrati in punti di transizione naturali nel flusso di un'app, ad esempio tra un'attività e l'altra durante la pausa tra i livelli di un gioco. Quando un'app mostra un annuncio interstitial, l'utente può scegliere se toccare l'annuncio e continuare alla sua 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

Effettua sempre test con annunci di prova

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

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

ca-app-pub-3940256099942544/1033173712

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

Per ulteriori informazioni sul funzionamento degli annunci di prova dell'SDK Mobile Ads, consulta Annunci di prova.

Carica un annuncio

Per caricare un annuncio interstitial, chiama il metodo load() statico InterstitialAd e trasmetti un elemento InterstitialAdLoadCallback per ricevere l'annuncio caricato o eventuali errori. Tieni presente che, come altri callback di caricamento del formato, InterstitialAdLoadCallback utilizza LoadAdError per fornire dettagli degli errori più affidabili.

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

Imposta FullScreenContentCallback

L'elemento FullScreenContentCallback gestisce gli eventi relativi alla visualizzazione di 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 dovrebbero 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, utilizza 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 di annuncio giusto per la tua app.
Gli annunci interstitial funzionano al meglio nelle app con punti di transizione naturali. Il completamento di un'attività all'interno di un'app, come la condivisione di un'immagine o il completamento di un livello di gioco, crea un punto di questo tipo. Assicurati di considerare i punti del flusso di lavoro della tua app in cui mostrare gli annunci interstitial e le probabilità che l'utente risponda.
Ricorda di mettere in pausa l'azione quando visualizzi un annuncio interstitial.
Esistono diversi tipi di annunci interstitial: di testo, illustrati, video e altri ancora. È importante assicurarsi che, quando l'app mostra un annuncio interstitial, sospenderà anche l'utilizzo di alcune risorse per consentirne l'utilizzo. Ad esempio, quando effettui la chiamata per visualizzare un annuncio interstitial, assicurati di mettere in pausa l'output audio prodotto dalla tua app.
Attendi un tempo di caricamento adeguato.
Così come è importante assicurarsi di mostrare gli annunci interstitial al momento giusto, è altrettanto importante assicurarsi che l'utente non debba attendere che vengano caricati. Caricando in anticipo l'annuncio chiamando il numero load() prima che tu voglia chiamare show(), puoi garantire che la tua app abbia un annuncio interstitial completamente caricato al momento del 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 di frequente da non poter più usufruire dell'utilizzo della tua app.

Codice sorgente

Esempi su GitHub

Casi di successo

Passaggi successivi