L'inizializzazione di un'app con lunghe catene di mediazione a cascata e più adattatori di terze parti può aumentare la latenza delle richieste di annunci per le impressioni critiche che vengono visualizzate per prime nella sessione dell'utente. Questa maggiore latenza della prima impressione può impedire la visualizzazione dell'annuncio perché la richiesta di annuncio non ha ancora restituito una risposta.
Questa guida illustra quanto segue per ridurre la latenza della prima impressione nelle sessioni dell'app:
- Imposta un timeout di inizializzazione
- Rimuovi le origini annuncio con struttura a cascata dalla prima richiesta
- Migliora il rendimento delle impressioni meno sensibili al tempo
Prima di iniziare
Prima di continuare, configura Google Mobile Ads SDK (Legacy).
Imposta un timeout di inizializzazione
Per non perdere un'opportunità di impressione, imposta un timeout di inizializzazione. Questo approccio impedisce all'app di superare il limite di tempo definito. Puoi procedere con la richiesta di annuncio dopo il limite di tempo impostato o al termine dell'inizializzazione.
L'esempio seguente imposta un timeout di inizializzazione di cinque secondi:
Kotlin
// Set up a CONFLATED channel that only buffers the latest event.
private val adLoadChannel = Channel<Unit>(Channel.CONFLATED)
fun initialize(context: Context) {
// Coroutine to handle the 5-second timeout.
CoroutineScope(Dispatchers.Default).launch {
delay(5000L)
// 5 second timer elapsed
adLoadChannel.trySend(Unit)
}
// Coroutine to call MobileAds.initialize() on a background thread.
CoroutineScope(Dispatchers.IO).launch {
MobileAds.initialize(context) {
// Mobile Ads SDK initialization finished.
adLoadChannel.trySend(Unit)
}
}
// Coroutine to listen for init complete or timer, whichever comes first.
CoroutineScope(Dispatchers.Main).launch {
// Wait on the first event.
adLoadChannel.receive()
loadAd()
// Close the channel after receiving the first event.
adLoadChannel.close()
}
}
Rimuovi le origini annuncio con struttura a cascata dalla prima richiesta
Per pubblicare annunci senza latenza aggiuntiva dalle origini annuncio con struttura a cascata, implementa la segmentazione delle coppie chiave-valore per rimuovere le origini annuncio con struttura a cascata dalla prima richiesta di annuncio. Completa i seguenti passaggi:
- Crea un gruppo di mediazione e aggiungi le origini annuncio per l'asta.
- Aggiungi la segmentazione delle coppie chiave-valore a
l nuovo gruppo di mediazione solo per l'asta utilizzando la chiave
latencye il valorelow. - Dai la priorità al nuovo gruppo di mediazione solo per l'asta rispetto al gruppo di mediazione principale nell'interfaccia utente. Per regolare l'ordine, modifica la priorità del gruppo di mediazione.
Nella prima richiesta di annuncio, includi la coppia chiave-valore di targeting personalizzato:
Kotlin
val request = AdRequest.Builder() .addCustomTargeting("latency", "low") .build()Java
AdRequest request = new AdRequest.Builder() .addCustomTargeting("latency", "low") .build();Testa la configurazione della segmentazione delle coppie chiave-valore per verificare di aver scelto come target correttamente il nuovo gruppo di mediazione solo per l'asta.
Migliora il rendimento delle impressioni meno sensibili al tempo
Per migliorare il rendimento delle impressioni meno sensibili al tempo, ad esempio gli annunci che non devono essere visualizzati immediatamente all'avvio dell'app, utilizza il precaricamento degli annunci con una richiesta di annuncio che non ha come target il gruppo di mediazione solo per l'asta.