Para analizar nuestros productos y proporcionar comentarios sobre ellos, únete al canal oficial de Ad Manager en Discord, en el servidor Google Advertising and Measurement Community.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El SDK de IMA carga dependencias para solicitar transmisiones de inserción de anuncios dinámicos (DAI), medir la visibilidad y generar informes de impresiones de anuncios. Si inicializas IMA antes de realizar una solicitud de transmisión, maximizas el tiempo para cargar las dependencias de IMA antes de la reproducción de la transmisión. En esta página, se explica cómo controlar los tiempos de carga de IMA en tu app.
Llamar a ImaSdkFactory.initialize()
El método ImaSdkFactory.initialize() comienza a precargar los recursos del SDK antes de la primera solicitud de transmisión.
Para usar initialize(), necesitas IMA 3.35.1 o una versión posterior.
Llama a ImaSdkFactory.initialize() al inicio de la aplicación o lo más temprano posible en el
ciclo de vida de la aplicación según lo permita la estructura de tu app. La llamada a initialize() usa los siguientes parámetros:
context: Usa el contexto de la aplicación, que siempre está disponible durante el ciclo de vida de la aplicación.
settings: Pasa un objeto ImaSdkSettings con sus valores establecidos. La configuración de IMA que se usa en la llamada a initialize() debe ser la misma que los valores de configuración que se usan en la llamada a createAdsLoader(). El SDK de IMA utiliza estos parámetros de configuración, en particular el de idioma, para la clave de caché. No recomendamos usar valores de prueba o falsos para la configuración
que se usa en la llamada al método initialize(), ya que pueden producirse errores de caché y
aumentar el tiempo de carga del anuncio.
Cómo volver a usar la instancia de AdsLoader
Para mejorar el tiempo de carga de IMA, te recomendamos que vuelvas a usar la misma instancia de AdsLoader. La interfaz AdsLoader puede controlar varias solicitudes de anuncios o transmisiones.
Evita crear una instancia nueva de AdsLoader para cada solicitud. La creación de una instancia AdsLoader nueva requiere un tiempo de carga y usa recursos adicionales del dispositivo.
Cómo solicitar transmisiones antes de la reproducción
Si tienes acceso a la instancia de AdsLoader antes de iniciar la reproducción de transmisión, también puedes llamar al método AdsLoader.requestStream() con anticipación. Si realizas esta llamada, se comenzará a cargar la transmisión de DAI. Cuando el usuario esté listo para iniciar la reproducción de transmisión, llama al método StreamManager.init() para inicializarla.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]