Melhorar o tempo de carregamento do IMA

O SDK do IMA carrega dependências para solicitar anúncios, medir a visibilidade e relatar impressões de anúncios. Ao inicializar o IMA antes de fazer uma solicitação de anúncio, você maximiza o tempo para carregar as dependências do IMA antes da reprodução do anúncio. Esta página aborda como gerenciar os tempos de carregamento do IMA no app.

Ligar para ImaSdkFactory.initialize()

O método ImaSdkFactory.initialize() começa a carregar previamente os recursos do SDK antes da primeira solicitação de anúncio. Para usar initialize(), você precisa da IMA versão 3.35.1 ou mais recente.

Chame ImaSdkFactory.initialize() na inicialização do app ou o mais cedo possível no ciclo de vida do app, conforme permitido pela estrutura do app. A chamada initialize() usa os seguintes parâmetros:

  • context: usa o contexto do aplicativo, que está sempre disponível durante o ciclo de vida do aplicativo.
  • settings: transmita um objeto ImaSdkSettings com os valores definidos. As configurações do IMA usadas na chamada initialize() precisam ser iguais aos valores de configuração usados na chamada createAdsLoader(). O SDK do IMA usa essas configurações, principalmente a configuração de idioma, para a chave de cache. Não recomendamos o uso de valores de teste ou falsos para as configurações usadas na chamada do método initialize(), porque podem ocorrer falhas de cache e aumentar o tempo de carregamento do anúncio.

Reutilizar a instância AdsLoader

Para melhorar o tempo de carregamento do IMA, recomendamos reutilizar a mesma instância do AdsLoader. A interface AdsLoader pode processar várias solicitações de anúncios ou de streaming. Evite criar uma nova instância de AdsLoader para cada solicitação. A criação de uma nova instância AdsLoader exige um tempo de carregamento e usa mais recursos do dispositivo.

Solicitar anúncios antes da reprodução

Se você tiver acesso à instância AdsLoader antes de iniciar a reprodução do anúncio, também poderá chamar o método AdsLoader.requestAds() antes do tempo. Essa chamada inicia o carregamento dos anúncios precedentes. Quando o usuário estiver pronto para iniciar a reprodução de conteúdo, chame o método AdsManager.init() e aguarde o evento LOADED para exibir anúncios.