Ridurre la latenza della prima impressione

Seleziona la piattaforma: Android iOS Unity Android (Legacy)

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:

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:

  1. Crea un gruppo di mediazione e aggiungi le origini annuncio per l'asta.
  2. Aggiungi la segmentazione delle coppie chiave-valore a l nuovo gruppo di mediazione solo per l'asta utilizzando la chiave latency e il valore low.
  3. 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.
  4. 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();
    

  5. 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.