L'API DAI di Google ti consente di implementare gli stream abilitati per l'inserimento di annunci dinamici di Google negli ambienti in cui l'implementazione dell'SDK IMA non è supportata. Ti consigliamo di continuare a utilizzare IMA sulle piattaforme in cui è supportato l'SDK IMA.
Ti consigliamo di utilizzare l'API DAI sulle seguenti piattaforme:
- Smart TV Samsung (Tizen)
- TV LG
- HbbTV
- Xbox (app JavaScript)
- KaiOS
L'API supporta le funzionalità di base fornite dall'SDK IMA DAI. Per specifiche se hai domande sulla compatibilità o sulle funzionalità supportate, contatta il tuo account manager.
Implementare l'API DAI per gli stream VOD
L'API DAI supporta gli stream VOD che utilizzano entrambi i protocolli HLS e DASH. I passaggi descritti in questa guida si applicano a entrambi i protocolli.
Per integrare l'API nella tua applicazione per gli stream VOD, completa la seguenti passaggi:
Richiedi uno stream effettuando una chiamata POST all'endpoint del flusso:
Esempio di corpo della richiesta:
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream { key1 : "value1", stream_parameter1 : "value2" }
Esempio di corpo della risposta:
{ "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85", "total_duration":636.458, "content_duration":596.458, "valid_for":"8h0m0s", "valid_until":"2020-06-04T20:39:41.274707306-07:00", "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd", "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/", "ad_breaks":[ { "type":"pre", "start":0, "duration":10, "ads":[ { "seq":1, "duration":10, "title":"External NCA1C1L1 Preroll", "description":"External NCA1C1L1 Preroll ad", "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365", "events":[ { "time":0.1, "type":"start" }, { "time":2.5, "type":"firstquartile" }, { "time":4.75, "type":"midpoint" }, { "time":7.5, "type":"thirdquartile" }, { "time":9, "type":"complete" } ] } ] }, { "type":"mid", "start":45, "duration":10, "ads":[ {.... } ] } ] }, { "type":"post", "start":626.458, "duration":10, "ads":[...] } ] }
Risposta all'errore
In caso di errori, vengono restituiti codici di errore HTTP standard senza JSON corpo della risposta.
Analizza la risposta JSON e archivia i seguenti valori:
stream_id
stream_manifest
media_verification_url
ad_breaks
Per eseguire la verifica dei contenuti multimediali, esamina gli eventi ID3:
- Archivia gli eventi multimediali in una coda, salvando ogni ID multimediale insieme al relativo (se mostrato dal player).
- A ogni aggiornamento dal player o con una frequenza prestabilita (consigliato 500 ms), controlla se nella coda degli eventi multimediali sono presenti eventi riprodotti di recente confrontando i timestamp degli eventi con la testina di riproduzione.
- Per gli eventi multimediali di cui confermi la riproduzione, monitora la riproduzione aggiungendo l'ID multimediale all'endpoint di verifica dei contenuti multimediali e creando una Richiesta GET.
Esempio di corpo della richiesta:
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
Esempi di risposte:
Accepted for asynchronous verification - HTTP/1.1 202 Accepted Successful empty response - HTTP/1.1 204 No Content Media verification not found - HTTP/1.1 404 Not Found Media verification sent by someone else - HTTP/1.1 409 Conflict
Puoi verificare gli eventi di monitoraggio in Attività di streaming Monitora.
(Facoltativo) Utilizza i dati
ad_breaks
della risposta di creazione dello stream per cercarla che tipo di evento è stato attivato.Rimuovi l'evento multimediale dalla coda.
Limitazioni
Se utilizzi l'API all'interno di WebView, si applicano le seguenti limitazioni in relazione a al targeting:
- UserAgent: il parametro user agent viene passato come valore specifico del browser anziché dalla piattaforma sottostante.
rdid
,idtype
,is_lat
: l'ID dispositivo è non vengono superate correttamente, il che limita le seguenti funzionalità:- Quota limite
- Rotazione sequenziale degli annunci
- Segmentazione e targeting del pubblico
Best practice
Mappare i tag ID3 al tipo di evento appropriato è noioso su VOD. Utilizza la
ha restituito ad_breaks
informazioni nel file JSON per cercare direttamente l'evento, ad esempio
con i contenuti live.