Melhorar o tempo de carregamento do IMA
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O SDK do IMA carrega dependências para solicitar streams de Inserção de anúncios dinâmicos (DAI),
medir a visibilidade e gerar relatórios de impressões de anúncios. Ao inicializar o IMA antes de
fazer uma solicitação de transmissão, você maximiza o tempo para carregar as dependências do IMA antes
da reprodução do stream. 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 stream.
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 transmissões antes da reprodução
Se você tiver acesso à instância AdsLoader
antes de iniciar a reprodução
do stream, também poderá chamar o método
AdsLoader.requestStream()
antes do tempo. Fazer essa chamada inicia o carregamento da transmissão de DAI. Quando o usuário
estiver pronto para iniciar a reprodução do stream, chame o método
StreamManager.init()
para inicializar a reprodução do stream.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-21 UTC.
[null,null,["Última atualização 2025-08-21 UTC."],[],[],null,["# Improve IMA load time\n\nThe IMA SDK loads dependencies to request Dynamic Ad Insertion (DAI) streams,\nmeasure viewability and report ad impressions. By initializing IMA before you\nmake a stream request, you maximize the time to load IMA dependencies before\nstream playback. This page covers how to handling IMA load times in your app.\n\nCall `ImaSdkFactory.initialize()`\n---------------------------------\n\nThe\n[`ImaSdkFactory.initialize()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkFactory#initialize(android.content.Context,com.google.ads.interactivemedia.v3.api.ImaSdkSettings))\nmethod starts to preload SDK resources in advance of the first stream request.\nTo use `initialize()`, you need IMA version 3.35.1 or higher.\n\nCall `ImaSdkFactory.initialize()` on application startup, or as early in the\napplication's lifecycle as your app structure allows. The `initialize()` call\ntakes the following parameters:\n\n- **`context`**: Uses the application context, which is always available during the lifecycle of the application.\n- **`settings`** : Pass the an [`ImaSdkSettings`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkSettings) object with its values set. The IMA settings used in the `initialize()` call must be the same as the settings values used in the `createAdsLoader()` call. The IMA SDK utilizes these settings, particularly the language setting, for cache key. We don't recommend using test or fake values for the settings used in the `initialize()` method call, as cache misses might occur and increase ad load time.\n\nReuse the `AdsLoader` instance\n------------------------------\n\nTo improve IMA load time, we recommend you reuse the same\n[`AdsLoader`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader)\ninstance. The `AdsLoader` interface can handle multiple ad or stream requests.\nAvoid creating a new `AdsLoader` instance for each request. Creating a new\n`AdsLoader` instance requires a load time, and uses additional device resources.\n\nRequest streams in advance of playback\n--------------------------------------\n\nIf you have access to the `AdsLoader` instance prior to starting stream\nplayback, you can also call the\n[`AdsLoader.requestStream()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#requestStream(com.google.ads.interactivemedia.v3.api.StreamRequest))\nmethod early. Making this call starts loading the DAI stream. When the user\nis ready to start stream playback, call the\n[`StreamManager.init()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/BaseManager#init())\nmethod to initialize stream playback."]]