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 o durante la pausa tra un livello e l'altro di un gioco. Quando un'app mostra un annuncio interstitial, l'utente può scegliere se toccare l'annuncio e continuare fino alla sua destinazione oppure chiuderlo e tornare all'app.
Questa guida spiega come integrare gli annunci interstitial in un dispositivo Android dell'app.
Prerequisiti
- SDK Google Mobile Ads 19.7.0 o versioni successive.
- Completa la Guida introduttiva.
Effettua sempre test con annunci di prova
Durante la creazione e il test delle tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione attivi. 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 Interstitial per Android:
/21775744923/example/interstitial
È stato appositamente configurato per restituire annunci di prova per ogni richiesta Puoi usarlo senza costi nelle tue app durante la programmazione, i test e il debug. Crea 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 AdManagerInterstitialAd
statico
load()
e passa un
AdManagerInterstitialAdLoadCallback
per ricevere l'annuncio caricato o eventuali errori. Nota che, come per gli altri callback di caricamento,
Levi di AdManagerInterstitialAdLoadCallback
LoadAdError
per fornire dettagli degli errori con precisione più elevata.
Java
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
public class MainActivity extends Activity {
private AdManagerInterstitialAd mAdManagerInterstitialAd;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest,
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
// The mAdManagerInterstitialAd reference will be null until
// an ad is loaded.
mAdManagerInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.d(TAG, loadAdError.toString());
mAdManagerInterstitialAd = null;
}
});
}
}
Kotlin
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
private final val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError?.toString())
mAdManagerInterstitialAd = null
}
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, 'Ad was loaded.')
mAdManagerInterstitialAd = interstitialAd
}
})
}
}
Imposta FullScreenContentCallback
FullScreenContentCallback
gestisce gli eventi relativi alla visualizzazione dei tuoi
InterstitialAd
. Prima di visualizzare InterstitialAd
, assicurati di impostare il valore
callback:
Java
mAdManagerInterstitialAd.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.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.");
mAdManagerInterstitialAd = 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
mAdManagerInterstitialAd?.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.")
mAdManagerInterstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.")
mAdManagerInterstitialAd = 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, utilizza la
show()
.
Java
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
Kotlin
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd?.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. La conclusione di un'attività all'interno di un'app, ad esempio la condivisione di un'immagine o il completamento a livello di gioco, crea un punto di questo tipo. Assicurati di considerare in quali momenti nel flusso di lavoro dell'app, mostra gli annunci interstitial e le probabilità che l'utente e rispondere.
- 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 nell'app sia visualizzata un annuncio interstitial, sospende anche l'utilizzo di alcune risorse per consentire sfruttarle. 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 a un
al momento giusto, è inoltre importante assicurarsi che l'utente non debba
e attenderemo il loro caricamento. Se carichi l'annuncio in anticipo chiamando
load()
prima di chiamareshow()
, puoi assicurarti che la tua app abbia un annuncio interstitial completamente caricato al momento di visualizzarlo. - Non inondare l'utente di annunci.
- L'aumento della frequenza degli annunci interstitial nella tua app può sembrare come un ottimo modo per aumentare le entrate, può anche peggiorare l'esperienza utente e percentuali di clic più basse. Assicurati che gli utenti non siano così di frequente interrotti in modo che non possano più utilizzare la tua app.
Esempi su GitHub
Passaggi successivi
- Ulteriori informazioni sul targeting degli annunci.
- Scopri di più sulla privacy dell'utente.
- Esplora l'inizializzazione e il caricamento degli annunci ottimizzati per l'SDK (beta).