Pré-carregamento de anúncios (Alfa)

Selecione a plataforma: Android (Beta) Novo Android iOS Unity

O pré-carregamento de anúncios é um recurso de carregamento de anúncios gerenciado pelo Google no Google Mobile Ads SDK que gerencia o carregamento e o armazenamento em cache de anúncios em seu nome. O pré-carregamento de anúncios exige uma mudança na forma de gerenciar o carregamento. Para otimizar a performance usando a pré-carga de anúncios, desative o armazenamento em cache personalizado e delegue essa responsabilidade ao Google Mobile Ads SDK.

A pré-carga de anúncios oferece os seguintes benefícios em relação ao carregamento manual:

  • Gerenciamento de referências:mantém os anúncios carregados para que você não precise manter referências até que esteja pronto para mostrá-los.
  • Recarga automática:carrega automaticamente um novo anúncio quando você retira um do cache.
  • Repetições gerenciadas:repete automaticamente solicitações com falha usando espera exponencial.
  • Processamento de expiração:atualiza automaticamente os anúncios antes que eles expirem (normalmente após uma hora).
  • Otimização de cache:se você usar um tamanho de cache maior que um, o Google Mobile Ads SDK vai otimizar a ordem do cache para veicular o melhor anúncio.

Este guia explica como configurar anúncios de pré-carregamento, verificar a disponibilidade deles e mostrar o anúncio pré-carregado.

Pré-requisitos

Antes de continuar com o tutorial, conclua os seguintes itens:

  • Instale a versão 24.4.0 ou mais recente do Google Mobile Ads SDK. Os recursos para desenvolvedores de versões anteriores estão disponíveis em 23.6.1 a 24.3.0, mas recomendamos usar a versão 24.4.0 ou mais recente e seguir este guia daqui para frente.
  • Configure o Google Mobile Ads SDK.
  • Opcional: faça o download e execute o app de exemplo em Java ou Kotlin.

Começar a pré-carregar anúncios

Para começar a pré-carregar anúncios, chame start(). Chame esse método apenas uma vez no início do app. Depois de chamar start(), o Google Mobile Ads SDK faz o pré-carregamento automático de anúncios e repete as solicitações com falha para configurações pré-carregadas.

O exemplo a seguir inicia o pré-carregamento de anúncios:

Kotlin

// Define a PreloadConfiguration.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").build()
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration)

Java

// Define a PreloadConfiguration.
PreloadConfiguration configuration = new PreloadConfiguration.Builder("AD_UNIT_ID").build();
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration);

Substitua AD_UNIT_ID pelo ID do seu bloco de anúncios.

Receber e mostrar o anúncio pré-carregado

Ao usar o pré-carregamento de anúncios, Google Mobile Ads SDK armazena anúncios em cache. Quando quiser mostrar um anúncio, chame pollAd(). Google Mobile Ads SDK recupera o anúncio disponível e pré-carrega automaticamente o próximo anúncio em segundo plano.

Evite chamar esse método até que esteja tudo pronto para mostrar um anúncio. Manter os anúncios no cache permite que o Google Mobile Ads SDK atualize automaticamente os anúncios expirados e faça a otimização do cache.

O exemplo a seguir recupera e mostra um anúncio pré-carregado:

Kotlin

// pollAd() returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID")

// [Optional] Interact with the ad as needed.
ad?.onPaidEventListener = OnPaidEventListener {
  // [Optional] Send the impression-level ad revenue information to your preferred
  // analytics server directly within this callback.
}

// Show the ad immediately.
ad?.show(activity)

Java

// pollAd() returns the next available ad and loads another ad in the background.
InterstitialAd ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID");

if (ad != null) {
  // [Optional] Interact with the ad object as needed.
  ad.setOnPaidEventListener(
      adValue -> {
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
      });

  // Show the ad immediately.
  ad.show(activity);
}

Verificar a disponibilidade de anúncios de pré-carregamento

Para verificar a disponibilidade de anúncios, escolha uma das seguintes opções:

Receber a disponibilidade de anúncios pré-carregados

O exemplo a seguir verifica a disponibilidade de anúncios:

Kotlin

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Java

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Ouvir a disponibilidade de anúncios pré-carregados

Registre-se para receber notificações quando os anúncios forem pré-carregados com sucesso, não forem pré-carregados ou o cache de anúncios estiver esgotado.

Os eventos de pré-carregamento são destinados a fins de análise. Dentro dos callbacks de eventos de pré-carregamento:

  • Não chame o start().
  • Evite chamar pollAd(), a menos que o anúncio seja mostrado imediatamente.

O exemplo a seguir registra eventos de anúncio:

Kotlin

// Define a callback to receive preload events.
val callback =
  object : PreloadCallbackV2() {
    override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo?) {
      // Called when preloaded ads are available.
    }

    override fun onAdsExhausted(preloadId: String) {
      // Called when no preloaded ads are available.
    }

    override fun onAdFailedToPreload(preloadId: String, adError: AdError) {
      // Called when preloaded ads failed to load.
    }
  }

Java

// Define a callback to receive preload events.
PreloadCallbackV2 callback =
    new PreloadCallbackV2() {
      @Override
      public void onAdPreloaded(
          @NonNull String preloadId, @Nullable ResponseInfo responseInfo) {
        // Called when preloaded ads are available.
      }

      @Override
      public void onAdsExhausted(@NonNull String preloadId) {
        // Called when no preloaded ads are available.
      }

      @Override
      public void onAdFailedToPreload(@NonNull String preloadId, @NonNull AdError adError) {
        // Called when preloaded ads failed to load.
      }
    };

Interromper a pré-carga de anúncios

Se você não precisar mostrar anúncios para um ID de pré-carga novamente na sessão, pare de pré-carregar anúncios. Para interromper o pré-carregamento de anúncios para um ID de pré-carregamento específico, chame destroy() com um ID de pré-carregamento.

Kotlin

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID")
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll()

Java

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID");
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll();

Definir o tamanho do buffer

O tamanho do buffer controla o número de anúncios pré-carregados mantidos na memória. Por padrão, o Google otimiza o tamanho do buffer para equilibrar o consumo de memória e a latência da veiculação de anúncios. Se o app mostrar anúncios antes do carregamento do próximo, defina um tamanho de buffer personalizado para aumentar o número de anúncios mantidos na memória. Recomendamos um tamanho de buffer de no máximo quatro.

Kotlin

// Define a PreloadConfiguration and buffer up to 5 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(5).build()

Java

// Define a PreloadConfiguration and buffer up to 5 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(5).build();