Contrairement aux intégrations précédentes entre Chromecast et DAI, le SDK CAF DAI se concentre fortement sur le respect des normes et des attentes définies par le Cast Application Framework. Par conséquent, il n'est pas nécessaire de personnaliser fortement vos applications d'envoi pour gérer les communications bidirectionnelles entre IMA et l'application d'envoi. Ces communications sont désormais gérées via la fonctionnalité intégrée CAF Ad Breaks, au lieu de nécessiter des systèmes de messagerie personnalisés pour communiquer entre l'application d'envoi et le récepteur.
Selon votre émetteur, vous devrez peut-être ajouter un code limité à vos émetteurs pour activer entièrement la prise en charge des pauses publicitaires CAF, par exemple ajouter la prise en charge des annonces désactivables aux émetteurs Web.
Désormais, en plus de la prise en charge des pauses publicitaires CAF, il vous suffit d'inclure les données du flux DAI dans l'objet CAF MediaInfo qui est envoyé de l'expéditeur au destinataire. Vous pouvez choisir d'envoyer ces données de différentes manières. Par exemple, vous pouvez coder en dur le contentSourceID sur votre récepteur et n'envoyer que le videoID avec l'objet MediaInfo. Vous pouvez également envoyer un identifiant arbitraire au récepteur, puis interroger une base de données en ligne pour obtenir les paramètres DAI réels.
Toutefois, pour plus de simplicité, tous nos exemples supposeront que vous suivez cette structure et cette convention de nommage simples pour vos objets MediaInfo :
contentId | Identifiant unique de cet élément multimédia | |
contentUrl | URL du flux de secours à charger si la requête DAI StreamRequest échoue pour une raison quelconque | |
streamType | Pour les diffusions en direct, cette valeur doit être définie sur "LIVE". Pour les flux VOD, cette valeur doit être définie sur "BUFFERED". | |
customData | assetKey | Diffusions en direct uniquement : Identifie la diffusion en direct à charger |
contentSourceId | Flux de vidéo à la demande uniquement. Identifie le flux multimédia contenant le flux demandé. | |
videoId | Flux de vidéo à la demande uniquement. Identifie le flux demandé dans le flux multimédia spécifié. | |
ApiKey | Clé API facultative qui peut être requise pour récupérer l'URL du flux à partir du SDK IMA DAI. | |
senderCanSkip | Valeur booléenne permettant au récepteur de savoir si l'appareil émetteur peut afficher un bouton "Ignorer", ce qui permet la prise en charge des annonces désactivables |
Exemple de diffusion en direct :
{
"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"
}
Exemple de flux 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"
}