Los SDKs de IMA facilitan la integración de anuncios multimedia en tus sitios web y aplicaciones. Los SDKs de IMA pueden solicitar anuncios de cualquier servidor de anuncios compatible con VAST y administrar la reproducción de anuncios en tus aplicaciones. Con los SDKs de IMA DAI, las apps realizan una solicitud de transmisión para el video del anuncio y el contenido, ya sea VOD o contenido en vivo. Luego, el SDK devuelve una transmisión de video combinada, de modo que no tengas que administrar el cambio entre el anuncio y el video de contenido en tu app.
Selecciona la solución de DAI que te interesa
Publicación de grupos de anuncios de DAI
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 PodServingExample 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:
IMAAdDisplayContainer
: Es un objeto contenedor que se encuentra en la parte superior del elemento de reproducción de video y aloja los elementos de la IU del anuncio.IMAAdsLoader
: Es un objeto que solicita transmisiones y controla los eventos activados por los objetos de respuesta de solicitud de transmisión. Solo debes crear una instancia del cargador de anuncios, que se puede reutilizar durante la vida útil de la aplicación.IMAStreamRequest
: Puede ser unIMAPodVODStreamRequest
o unIMAPodStreamRequest
.IMAStreamManager
: Es un objeto que controla las transmisiones de inserción de anuncios dinámicos y las interacciones con el backend de la DAI. El administrador de transmisiones también controla los pings de seguimiento y reenvía los eventos de transmisiones y anuncios al publicador.
Además, para reproducir transmisiones de servicio de pods, debes implementar un controlador de VTP personalizado. Este controlador personalizado del VTP envía el ID de transmisión a tu socio técnico de video (VTP) junto con cualquier otra información que necesite para devolver un manifiesto de transmisión que contenga tanto contenido como anuncios unidos. Tu VTP te proporcionará instrucciones para implementar tu controlador de VTP personalizado.
Requisitos previos
Antes de comenzar, necesitas lo siguiente:
- Xcode 13 o una versión posterior
- CocoaPods (preferido), Swift Package Manager o una copia descargada del SDK de IMA DAI para iOS
También necesitas los parámetros que se usan para solicitar tu transmisión desde el SDK de IMA.
Parámetros de transmisión en vivo | |
---|---|
Código de red |
Es el código de red de tu cuenta de Ad Manager 360. |
Clave del activo personalizada |
Es la clave del recurso personalizada que identifica tu evento de Pod Serving en Ad Manager 360. Tu manipulador de manifiestos o socio externo de Publicación de Pods puede crear este objeto. |
Parámetros de transmisión de VOD | |
Código de red |
Es el código de red de tu cuenta de Ad Manager 360. |
Crea un proyecto nuevo de Xcode
En Xcode, crea un proyecto nuevo para iOS con Objective-C llamado "PodServingExample".
Agrega el SDK de IMA DAI al proyecto de Xcode
Usa uno de estos tres métodos para instalar el SDK de IMA DAI.
Instala el SDK con CocoaPods (opción preferida)
CocoaPods es un administrador de dependencias para proyectos de Xcode y es el método recomendado para instalar el SDK de DAI de IMA. Para obtener más información sobre la instalación o el uso de CocoaPods, consulta la documentación de CocoaPods. Después de instalar CocoaPods, sigue estas instrucciones para instalar el SDK de IMA DAI:
En el mismo directorio que tu archivo PodServingExample.xcodeproj, crea un archivo de texto llamado Podfile y agrega la siguiente configuración:
Desde el directorio que contiene el Podfile, ejecuta el siguiente comando:
pod install --repo-update
Instala el SDK con Swift Package Manager
El SDK de anuncios multimedia interactivos admite Swift Package Manager a partir de la versión 3.18.4. Sigue estos pasos para importar el paquete de Swift.
En Xcode, instala el paquete Swift del SDK de IMA DAI. Para ello, navega a File > Add Packages.
En el mensaje que aparece, busca el repositorio de GitHub del paquete de Swift del SDK de IMA DAI:
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-ios
Selecciona la versión del paquete Swift del SDK de IMA DAI que deseas usar. Para los proyectos nuevos, recomendamos usar la opción Up to Next Major Version.
Cuando termines, Xcode resolverá las dependencias de tu paquete y las descargará en segundo plano. Para obtener más detalles sobre cómo agregar dependencias de paquetes, consulta el artículo de Apple.
Descarga e instala el SDK de forma manual
Si no quieres usar Swift Package Manager ni CocoaPods, puedes descargar el SDK de IMA DAI y agregarlo manualmente a tu proyecto.
Crea un reproductor de video simple
Implementa un reproductor de video en tu controlador de vista principal con un reproductor de AV encapsulado en una vista de IU. El SDK de IMA usa la vista de la IU para mostrar los elementos de la IU de los anuncios.
Objective-C
Swift
Inicializa el cargador de anuncios
Importa el SDK de IMA en tu controlador de vistas y adopta los protocolos IMAAdsLoaderDelegate
y IMAStreamManagerDelegate
para controlar los eventos del cargador de anuncios y del administrador de transmisiones.
Agrega estas propiedades privadas para almacenar los componentes clave del SDK de IMA:
IMAAdsLoader
: Administra las solicitudes de transmisión durante el ciclo de vida de tu app.IMAAdDisplayContainer
: Controla la inserción y la administración de los elementos de la interfaz de usuario de anuncios.IMAAVPlayerVideoDisplay
: Se comunica entre el SDK de IMA y tu reproductor multimedia, y controla los metadatos cronometrados.IMAStreamManager
: Administra la reproducción de la transmisión y activa eventos relacionados con los anuncios.
Inicializa el cargador de anuncios, el contenedor de visualización de anuncios y la visualización de video después de que se cargue la vista.
Objective-C
Swift
Realiza una solicitud de transmisión
Cuando un usuario presione el botón de reproducción, realiza una nueva solicitud de transmisión.
Usa la clase IMAPodStreamRequest
para las transmisiones en vivo. Para las transmisiones de VOD, usa la clase
IMAPodVODStreamRequest
.
La solicitud de transmisión requiere tus parámetros de transmisión, así como una referencia a tu contenedor de visualización de anuncios y a la visualización de video.
Objective-C
Swift
Cómo detectar eventos de carga de transmisión
La clase IMAAdsLoader
llama a los métodos IMAAdsLoaderDelegate
cuando se inicializa correctamente o falla la solicitud de transmisión.
En el método de delegado adsLoadedWithData
, configura tu IMAStreamManagerDelegate
.
Pasa el ID de la transmisión a tu controlador de VTP personalizado y recupera la URL del manifiesto de la transmisión. En el caso de las transmisiones en vivo, carga la URL del manifiesto en la pantalla de video y comienza la reproducción. En el caso de las transmisiones de VOD, pasa la URL del manifiesto al método loadThirdPartyStream
del administrador de transmisiones. Este método solicita datos de eventos de anuncios de Ad Manager 360, luego carga la URL del manifiesto y comienza la reproducción.
En el método delegado failedWithErrorData
, registra el error. De manera opcional, reproduce la transmisión de respaldo. Consulta las prácticas recomendadas de la DAI.
Objective-C
Swift
Implementa tu controlador de VTP personalizado
El controlador de VTP personalizado envía el ID de transmisión del usuario a tu socio técnico de video (VTP) junto con cualquier otra información que tu VTP requiera para devolver un manifiesto de transmisión que contenga tanto contenido como anuncios unidos. Tu VTP te proporcionará instrucciones específicas para implementar tu controlador de VTP personalizado.
Por ejemplo, un VTP puede incluir una URL de plantilla de manifiesto que contenga la macro [[STREAMID]]
. En este ejemplo, el controlador inserta el ID de transmisión en lugar de la macro y devuelve la URL del manifiesto resultante.
Objective-C
Swift
Cómo detectar eventos de anuncios
El IMAStreamManager
llama a los métodos IMAStreamManagerDelegate
para pasar eventos y errores de transmisión a tu aplicación.
En este ejemplo, registra los eventos de anuncios principales en la consola:
Objective-C
Swift
Limpia los recursos de la DAI de IMA
Para detener la reproducción de la transmisión, detener todo el seguimiento de anuncios y liberar todos los recursos de transmisión cargados, llama a IMAStreamManager.destroy()
.
Ejecuta tu app y, si todo sale bien, podrás solicitar y reproducir transmisiones de DAI de Google con el SDK de IMA. Para obtener información sobre las funciones más avanzadas del SDK, consulta otras guías que se enumeran en la barra lateral izquierda o las muestras en GitHub.