A differenza delle integrazioni precedenti tra Chromecast e DAI, l'SDK CAF DAI si concentra molto sul mantenimento degli standard e delle aspettative stabiliti dal framework dell'applicazione Cast. Pertanto, non è necessario personalizzare in modo significativo le app mittente per gestire le comunicazioni bidirezionali tra IMA e l'app mittente. Queste comunicazioni vengono ora gestite tramite la funzionalità integrata Interruzioni pubblicitarie CAF, anziché richiedere sistemi di messaggistica personalizzati per comunicare tra l'app mittente e il destinatario.
A seconda del mittente, potrebbe essere necessario aggiungere un codice limitato per attivare completamente il supporto delle interruzioni pubblicitarie CAF, ad esempio aggiungendo il supporto degli annunci ignorabili ai mittenti web.
Ora, oltre al supporto delle interruzioni pubblicitarie CAF, è necessario includere i dati del flusso DAI nell'oggetto MediaInfo CAF inviato dal mittente al destinatario. Puoi scegliere di inviare questi dati in molti modi diversi. Ad esempio, puoi codificare l'ID contentSource sul ricevitore e inviare solo videoID con l'oggetto MediaInfo oppure puoi inviare un identificatore arbitrario al ricevitore e da lì eseguire una query su un database online per i parametri DAI effettivi.
Tuttavia, per semplicità, tutti i nostri esempi presuppongono che tu segua 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 stream 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 richiesta per recuperare l'URL dello stream dall'SDK IMA DAI. | |
senderCanSkip | Un valore booleano per comunicare al destinatario se il dispositivo di invio è in grado di visualizzare un pulsante Salta, consentendo 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"
}