Mejora el tiempo de carga de IMA

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.