Mejora el tiempo de carga de IMA

El SDK de IMA carga dependencias para solicitar anuncios, medir la visibilidad y informar impresiones de anuncios. Si inicializas IMA antes de realizar una solicitud de anuncio, maximizas el tiempo para cargar las dependencias de IMA antes de la reproducción de anuncios. 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 anuncios. Para usar initialize(), necesitas la versión 3.35.1 de IMA o una 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 usa 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.

Controla el tiempo de carga con la extensión ExoPlayer-IMA

Las apps que usan la extensión ExoPlayer-IMA vuelven a crear una instancia de AdsLoader en cada carga de anuncios. La llamada a initialize() acelera la primera solicitud de anuncios de AdLoader. Para acelerar la primera solicitud de anuncios para actividades nuevas, vuelve a llamar a initialize() al comienzo de la actividad nueva.

Solicita anuncios antes de la reproducción

Si tienes acceso a la instancia AdsLoader antes de iniciar la reproducción de anuncios, también puedes llamar al método AdsLoader.requestAds() antes. Si realizas esta llamada, se comenzarán a cargar los anuncios previos al video. Cuando el usuario esté listo para iniciar la reproducción de contenido, llama al método AdsManager.init() y espera a que el evento LOADED reproduzca los anuncios.