Scrivere app di invio per l'SDK DAI CAF

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"
}