Los SDK de IMA facilitan la integración de anuncios multimedia en sus sitios web y aplicaciones. Los SDK de IMA pueden solicitar anuncios de cualquier servidor de anuncios compatible con VAST y administrar la reproducción de anuncios en tus apps. Con los SDK 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 por Internet combinada para que no tengas que administrar el cambio entre anuncios y videos de 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 de DAI en una app de reproductor de video simple. Si deseas ver o seguir una integración de muestra completa, descarga el BasicExample desde GitHub.
Descripción general de IMA de DAI
La implementación de la DAI de IMA incluye cuatro componentes principales del SDK, como se muestra en esta guía:
StreamDisplayContainer
: Es un objeto contenedor que se ubica encima del elemento de reproducción de video y aloja los elementos de la IU del anuncio.AdsLoader
: Es un objeto que solicita transmisiones y controla eventos activados por objetos de respuesta de solicitud de transmisión. Solo debes crear una instancia de un cargador de anuncios, que se puede volver a usar durante la vida 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 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 solicitud 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 maneje los identificadores de anuncios, como se especifica en la configuración de Google Ad Manager.StreamManager
: Es un objeto que controla las interacciones y las transmisiones de inserción de anuncios dinámicos con el backend de DAI. El administrador de transmisiones también controla los pings de seguimiento y reenvía los eventos de anuncios y transmisiones al publicador.
Requisitos previos
- Android Studio
- App de reproducción de video de ejemplo para la integración del SDK
Descarga y ejecuta la app de ejemplo del reproductor de video
La app de ejemplo proporciona un reproductor de video que funciona y que reproduce video 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 se está ejecutando, selecciona File > New > Import Project. Luego, elige
SampleVideoPlayer/build.gradle
.Ejecuta una sincronización de Gradle seleccionando Tools > Android > Sync Project with Gradle Files.
Asegúrate de que la app del reproductor se compile y se ejecute en un dispositivo Android físico o en un dispositivo virtual de Android mediante Run > Run 'app'. Es normal que la transmisión de video por Internet tarde unos minutos en cargarse antes de reproducirse.
Examina el reproductor de video de muestra
El reproductor de video de muestra aún no contiene ningún código de integración del SDK de DAI de IMA. La app de ejemplo consta de dos partes principales:
samplevideoplayer/SampleVideoPlayer.java
: Un reproductor HLS basado en ExoPlayer que funciona 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
.
Agregue el SDK de IMA de DAI a la aplicación del reproductor
También debe incluir una referencia al SDK de IMA de DAI. En Android Studio, agrega lo siguiente al archivo build.gradle
a nivel de la aplicación, ubicado en app/build.gradle
:
Integre el SDK de IMA de 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 transmisiones HLS y DASH, 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 extiendaVideoStreamPlayer.VideoStreamPlayerCallback
.Para trabajar con la DAI, el reproductor debe pasar eventos ID3 para las transmisiones en vivo al SDK de IMA de DAI. El método
callback.onUserTextReceived()
lo hace en el siguiente código de muestra.Agrega un método
buildStreamRequest()
para crear laSteamRequest
. Este método alterna entre diferentes transmisiones según cómo establezcas 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, así que agrega un métodocreateVideoStreamPlayer()
, que crea una clase anónima que implementaVideoStreamPlayer
.Implementa los objetos de escucha requeridos y agrega compatibilidad con el manejo de errores.
Observa la implementación de
AdErrorListener
, ya que llama a una URL de resguardo si no se reproducen los anuncios. Dado que el contenido y los anuncios están en una transmisión, debe poder 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 y llamar aSampleAdsWrapper
. Además, realiza una llamada 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 de la actividad
activity_my.xml
para agregar elementos de la IU para el registro.
¡Felicitaciones! Ahora solicitas y muestras anuncios de video en tu app para Android. Para optimizar 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, descarga 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.