Los SDKs de IMA facilitan la integración de anuncios multimedia en tus sitios web y apps. Los SDKs de IMA pueden solicitar anuncios de cualquier servidor de anuncios que cumpla con VAST y administrar la reproducción de anuncios en tus apps. Con los SDKs de DAI de IMA, las apps realizan una solicitud de transmisión de anuncios y videos de contenido, ya sea VOD o contenido en vivo. Luego, el SDK muestra una transmisión de video combinada para que no tengas que administrar el cambio entre el video de anuncios y el contenido dentro de tu app.
Selecciona la solución de DAI que te interesa
DAI de servicio completo
En esta guía, se muestra cómo integrar el SDK de IMA DAI en una app de reproductor de video simple. Si deseas ver o seguir una integración de ejemplo completa, descarga BasicExample desde GitHub.
Descripción general de la DAI de IMA
La implementación de la DAI de IMA implica cuatro componentes principales del SDK, como se muestra en esta guía:
StreamDisplayContainer
: Es un objeto contenedor que se encuentra sobre el elemento de reproducción de video y contiene los elementos de la IU del anuncio.AdsLoader
: Es un objeto que solicita transmisiones y controla los eventos activados por los objetos de respuesta de solicitudes de transmisión. Solo debes crear una instancia de un cargador de anuncios, que se puede volver a usar durante la vida útil de la aplicación.StreamRequest
: Es un objeto que define una solicitud de transmisión. Las solicitudes de transmisión pueden ser de video on demand o de transmisiones en vivo. Las solicitudes de transmisión en vivo especifican una clave de activo, mientras que las solicitudes de VOD especifican un ID de CMS y un ID de video. De manera opcional, ambos tipos de solicitudes pueden incluir una clave de API necesaria para acceder a transmisiones específicas y un código de red de Google Ad Manager para que el SDK de IMA controle los identificadores de anuncios, como se especifica en la configuración de Google Ad Manager.StreamManager
: Un objeto que controla las transmisiones de inserción de anuncios dinámicos y las interacciones con el backend de DAI. El administrador de transmisiones también controla los pings de seguimiento y reenvía los eventos de transmisión y de anuncios al publicador.
Requisitos previos
- Android Studio
- App de reproductor de video de ejemplo para la integración del SDK
Descarga y ejecuta la app de reproductor de video de ejemplo
La app de ejemplo proporciona un reproductor de video en funcionamiento que reproduce videos HLS. Úsalo como punto de partida para integrar las funciones de DAI del SDK de IMA.
Descarga la app de reproductor de video de muestra y extráela.
Inicia Android Studio y selecciona Open an existing Android Studio project o, si Android Studio ya está en ejecución, selecciona File > New > Import Project. Luego, elige
SampleVideoPlayer/build.gradle
.Para ejecutar una sincronización de Gradle, selecciona Tools > Android > Sync Project with Gradle Files.
Asegúrate de que la app del reproductor se compile y ejecute en un dispositivo Android físico o en un dispositivo virtual de Android con Run > Run "app". Es normal que la transmisión de video demore unos minutos en cargarse antes de reproducirse.
Examina el reproductor de video de ejemplo
El reproductor de video de ejemplo aún no contiene ningún código de integración del SDK de IMA DAI. La app de ejemplo consta de dos partes principales:
samplevideoplayer/SampleVideoPlayer.java
: Es un reproductor HLS basado en ExoPlayer que sirve como base para la integración de DAI de IMA.videoplayerapp/MyActivity.java
: Esta actividad crea el reproductor de video y le pasa unContext
y unmedia3.ui.PlayerView
.
Agrega el SDK de IMA DAI a la app del reproductor
También debes incluir una referencia al SDK de IMA DAI. En Android Studio, agrega lo siguiente a tu archivo build.gradle
a nivel de la aplicación, ubicado en app/build.gradle
:
Integra el SDK de IMA DAI
Crea una clase nueva llamada
SampleAdsWrapper
en el paquetevideoplayerapp
(enapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
) para unir elSampleVideoPlayer
existente y agregar lógica que implemente la DAI de IMA. Para ello, primero debes crear unAdsLoader
que se use para solicitar la transmisión de DAI.Este fragmento incluye parámetros de muestra para HLS y DASH, transmisiones en vivo y VOD. Para establecer qué transmisión se está reproduciendo, actualiza la variable
CONTENT_TYPE
.Crea un método auxiliar
createSampleVideoPlayerCallback()
para controlar la creación de una instancia de interfazSampleVideoPlayerCallback
que extiendeVideoStreamPlayer.VideoStreamPlayerCallback
.Para trabajar con la DAI, el reproductor debe pasar eventos ID3 para las transmisiones en vivo al SDK de IMA DAI. El método
callback.onUserTextReceived()
hace esto en el siguiente código de muestra.Agrega un método
buildStreamRequest()
para crear elSteamRequest
. Este método cambia entre diferentes transmisiones según la forma en que configures la variableCONTENT_TYPE
. La transmisión predeterminada que se usa en esta guía es la transmisión HLS de VOD de muestra de IMA.También necesitas un
VideoStreamPlayer
para reproducir la transmisión, por lo que debes agregar un métodocreateVideoStreamPlayer()
, que crea una clase anónima que implementaVideoStreamPlayer
.Implementa los objetos de escucha necesarios y agrega compatibilidad con el manejo de errores.
Ten en cuenta la implementación de
AdErrorListener
, ya que llama a una URL de resguardo si los anuncios no se reproducen. Dado que el contenido y los anuncios se encuentran en una sola transmisión, debes estar listo para llamar a una transmisión de resguardo si la transmisión de DAI encuentra un error.Agrega código para el registro.
Modifica
MyActivity
envideoplayerapp
para crear una instancia deSampleAdsWrapper
y llamar a esta. Además, llama aImaSdkFactory.initialize()
aquí con un método auxiliar para crear una instancia deImaSdkSettings
.Agrega el método auxiliar
getImaSdkSettings()
para crear una instancia deImaSdkSettings
.Modifica el archivo de diseño
activity_my.xml
de la actividad para agregar elementos de la IU para el registro.
¡Felicitaciones! Ahora solicitas y muestras anuncios de video en tu app para Android. Para ajustar mejor tu implementación, consulta Favoritos, Snapback y la documentación de la API.
Solución de problemas
Si tienes problemas para reproducir un anuncio de video, intenta descargar el BasicExample completo. Si funciona correctamente en BasicExample, es probable que haya un problema con el código de integración de IMA de tu app.
Si los problemas persisten, visita el foro del SDK de IMA.