Reduzir a latência da primeira impressão

Selecione a plataforma: Android Novo Android iOS Unity

Inicializar um app com longas cadeias de mediação em hierarquia e vários adaptadores de terceiros pode aumentar a latência das solicitações de anúncios, especialmente para as primeiras impressões que surgem na sessão do usuário. Esse aumento na latência da primeira impressão pode impedir a veiculação do anúncio, já que a solicitação ainda não retornou uma resposta.

Neste guia, abordamos o seguinte para reduzir essa latência nas sessões do app:

Antes de começar

Antes de continuar, configure o Google Mobile Ads SDK.

Definir um tempo limite de inicialização

Para não perder uma oportunidade de impressão, defina um tempo limite de inicialização. Assim, o app não excede o prazo definido. Você poderá prosseguir com a solicitação de anúncio após o limite de tempo definido ou depois que a inicialização for concluída.

O exemplo a seguir define um tempo limite de inicialização de 5 segundos:

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

Remover origens de anúncios em hierarquia da sua primeira solicitação

Se quiser veicular anúncios sem latência extra das origens de anúncios em hierarquia, implemente a segmentação de chave-valor para remover essas origens da sua primeira solicitação de anúncio. Siga estas etapas:

  1. Crie um grupo de mediação e adicione origens de anúncios dos lances.
  2. Adicione a segmentação de chave-valor ao novo grupo de mediação somente de lances usando a chave latency e o valor low.
  3. Priorize o novo grupo de mediação somente de lances, que fica acima do grupo de mediação principal na interface. Para ajustar a ordem, mude a prioridade dos grupos de mediação.
  4. Na primeira solicitação de anúncio, inclua o par de chave-valor de segmentação personalizada:

    Kotlin

    val request = AdRequest.Builder()
        .addCustomTargeting("latency", "low")
        .build()
    

    Java

    AdRequest request = new AdRequest.Builder()
        .addCustomTargeting("latency", "low")
        .build();
    

  5. Teste a configuração da segmentação de chave-valor para confirmar se você está segmentando corretamente o novo grupo de mediação somente de lances.

Melhorar a performance em impressões menos urgentes

Para otimizar a performance em impressões menos urgentes, como anúncios que não precisam aparecer logo após a inicialização do app, use o pré-carregamento de anúncios com uma solicitação que não segmenta o grupo de mediação somente de lances.