A diferencia de las integraciones anteriores entre Chromecast y DAI, el SDK de DAI de CAF se enfoca principalmente en mantener los estándares y las expectativas que establece el framework de aplicaciones de Cast. Por lo tanto, no hay requisitos para personalizar en gran medida tus apps emisoras para administrar las comunicaciones bidireccionales entre IMA y la app emisora. Estas comunicaciones ahora se administran a través de la funcionalidad integrada de pausas publicitarias de CAF, en lugar de requerir sistemas de mensajes personalizados para la comunicación entre la app emisora y el receptor.
Según el remitente, es posible que debas agregar algunos códigos limitados a los remitentes para habilitar por completo la compatibilidad con las pausas publicitarias de CAF, como agregar compatibilidad con anuncios que se pueden omitir a los remitentes de la Web.
Ahora, todo lo que se requiere, además de la compatibilidad con las pausas publicitarias de CAF, es incluir los datos de transmisión de DAI en el objeto MediaInfo de CAF que se envía del remitente al receptor. Puede optar por enviar estos datos de muchas maneras diferentes, por ejemplo, puede codificar el contentSourceID en su receptor y solo enviar el videoID con el objeto MediaInfo, o bien enviar un identificador arbitrario al receptor y, desde allí, consultar una base de datos en línea para obtener los parámetros reales de la DAI.
Sin embargo, por cuestiones de simplicidad, en todos nuestros ejemplos se supondrá que sigues esta estructura y convención de nomenclatura simples para tus objetos MediaInfo:
contentId | Un identificador único para este elemento multimedia | |
contentUrl | La URL de transmisión de resguardo que se cargará si StreamRequest de DAI falla por algún motivo | |
streamType | Para las transmisiones en vivo, este valor se debe configurar como "EN VIVO". Para las transmisiones de VOD, este valor se debe establecer como “BUFFERED”. | |
customData | assetKey | Solo transmisiones en vivo. Identifica la transmisión en vivo que se cargará |
contentSourceId | Solo transmisiones de VOD. Identifica el feed de contenido multimedia que contiene la transmisión solicitada. | |
videoId | Solo transmisiones de VOD. Identifica la transmisión solicitada dentro del feed de medios especificado. | |
ApiKey | Una clave de API opcional que se puede solicitar para recuperar la URL de la transmisión desde el SDK de IMA de DAI. | |
senderCanSkip | Un valor booleano que informa al receptor si el dispositivo emisor puede mostrar un botón de omisión, lo que habilita la compatibilidad con anuncios que se pueden omitir. |
Ejemplo de transmisión en VIVO:
{
"media": {
"contentId": "bbb",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
"streamType": "LIVE",
"customData": {
"assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
Ejemplo de transmisión de VOD:
{
"media": {
"contentId": "tos",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
"streamType": "BUFFERED",
"customData": {
"contentSourceId": "2548831",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}