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 objetoImaSdkSettings
con sus valores establecidos. La configuración de IMA que se usa en la llamada ainitialize()
debe ser la misma que los valores de configuración que se usan en la llamada acreateAdsLoader()
. 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étodoinitialize()
, 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.