A differenza delle precedenti integrazioni tra Chromecast e DAI, l'SDK DAI CAF si concentra molto sul mantenimento degli standard e delle aspettative definiti dal Google Cast Application Framework. Di conseguenza, non sono previsti requisiti per personalizzare notevolmente le app del mittente per gestire le comunicazioni bidirezionali tra l'IMA e l'app del mittente. Queste comunicazioni sono ora gestite tramite la funzionalità integrata Interruzioni pubblicitarie CAF, anziché richiedere che sistemi di messaggi personalizzati comunichino tra l'app del mittente e il destinatario.
A seconda del mittente, potresti comunque dover aggiungere un codice limitato ai mittenti per attivare completamente il supporto delle interruzioni pubblicitarie CAF, ad esempio aggiungere il supporto per annunci ignorabili ai mittenti web.
Tutto ciò che è necessario adesso, a parte il supporto delle interruzioni pubblicitarie CAF, è includere i dati sullo streaming DAI nell'oggetto CAF MediaInfo che viene inviato dal mittente al destinatario. Puoi scegliere di inviare questi dati in molti modi diversi, ad esempio puoi impostare come hardcoded contentSourceID sul ricevitore e inviare videoID solo con l'oggetto MediaInfo oppure inviare un identificatore arbitrario al destinatario e, da lì, eseguire query su un database online per individuare gli effettivi parametri DAI.
Tuttavia, per semplicità, tutti i nostri esempi presuppongono che utilizzi questa semplice struttura e convenzione di denominazione per gli oggetti MediaInfo:
contentId | Un identificatore univoco per questo elemento multimediale | |
contentUrl | L'URL dello stream di riserva da caricare se la richiesta di streaming DAI non va a buon fine per qualsiasi motivo | |
streamType | Per i live streaming, questo valore deve essere impostato su "LIVE". Per gli stream VOD, questo valore deve essere impostato su "BUFFERED" | |
customData | assetKey | Solo live streaming. Identifica il live streaming da caricare |
contentSourceId | Solo stream VOD. Identifica il feed multimediale che contiene lo stream richiesto. | |
videoId | Solo stream VOD. Identifica lo stream richiesto all'interno del feed multimediale specificato. | |
ApiKey | Una chiave API facoltativa che può essere necessaria per recuperare l'URL dello stream dall'SDK IMA DAI. | |
senderCanSkip | Un valore booleano che indica al destinatario se il dispositivo di invio ha la possibilità di visualizzare un pulsante Salta, che consente il supporto degli annunci ignorabili |
Esempio di live streaming:
{
"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"
}
Esempio di stream 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"
}