L'API per l'inserimento di annunci dinamici (DAI, Dynamic Ad Insertion) consente di accedere a streaming monetizzati in cui l'SDK IMA non è supportato (ad esempio, le smart TV). L'IMA è obbligatorio sulle piattaforme in cui è disponibile. L'API supporta tutte le funzionalità DAI esistenti, che però richiedono l'implementazione del publisher.
Requisiti per l'utilizzo dell'API
La seguente funzionalità richiede l'implementazione da parte del publisher quando si utilizza l'API:
- Accesso allo streaming DAI tramite l'endpoint HTTP ed elaborazione delle risposte JSON
- Creazione di parametri API e coppie chiave-valore di targeting
- Implementazione delle esperienze utente (ad esempio, click-through e icone)
- Ascolto di eventi ID3 nel player per implementare i controlli del player e il monitoraggio/la misurazione degli annunci sia per i contenuti lineari dal vivo sia per i VOD
- Implementazione di comportamenti di scrubbing, snapback e aggiunta di preferiti
- Selezione dei formati di streaming: HLS o DASH
Puoi utilizzare le seguenti informazioni su come richiedere ed elaborare stream tramite l'API per video on demand o live streaming lineari.
Video on demand (VOD)
L'API VOD segue un semplice ciclo di vita, dalla creazione dello stream alla verifica della riproduzione degli annunci:
-
Richiedi uno streaming con HTTP POST utilizzando l'ID fonte di contenuto (
cmsid
) e l'ID video (vid
), con chiave API o token HMAC e parametri di targeting degli annunci.https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream
-
Elabora la risposta per il file manifest di riproduzione dei contenuti, i sottotitoli, l'interruzione pubblicitaria e le informazioni sui tempi dei contenuti.
{
"content_duration": 123.451,
"stream_manifest": "https://dai.google.com/.../master.m3u8",
"media_verification_url": "https://dai.google.com/.../media/",
"stream_id": "9ca0c62a-3291-4f95-986f-d1721f8b96f0",
"total_duration": 163.451,
"valid_for": "8h0m0s",
"valid_until": "2018-05-16T23:21:16.558053292-07:00",
"ad_breaks": [...]
}
-
Per ogni interruzione pubblicitaria, elabora i dettagli dei singoli annunci per gli elementi negli annunci, come click-through, companion e informazioni sulla durata delle interruzioni pubblicitarie per il rendering dell'interfaccia utente.
{
"clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",
"description": "Example pre-roll ad",
"duration": 10,
"seq": 1,
"title": "Example pre-roll"
}
-
Per ogni annuncio, attiva
media_verification_url
con il valore ID3 aggiunto dalla riproduzione del supporto pubblicitario.https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/
Gli eventi Avanzamento vengono forniti per differenziare la riproduzione all'interno e all'esterno di un'interruzione pubblicitaria e non servono ad altri scopi di monitoraggio degli annunci.
Per identificare gli eventi di avanzamento, cerca l'identificatore multimediale nel file JSON dei metadati e verifica che il campo type
sia impostato su progress
. L'ID3 avanzamento può essere utilizzato, ad esempio, per bloccare i controlli video.
Live streaming lineari
L'API lineare segue un semplice ciclo di vita, dalla creazione dello stream alla verifica della riproduzione degli annunci:
-
Richiedi uno streaming con HTTP POST utilizzando l'ID evento, la chiave API o il token HMAC e i parametri di targeting degli annunci.
https://dai.google.com/linear/v1/hls/event/<eventid>/stream
https://dai.google.com/linear/v1/dash/event/<eventid>/stream -
Elabora la risposta per il file manifest di riproduzione dei contenuti, i sottotitoli, l'interruzione pubblicitaria e le informazioni sui tempi dei contenuti.
{
"stream_manifest": "https://dai.google.com/linear/.../master.m3u8",
"media_verification_url": "https://dai.google.com/linear/.../media/",
"metadata_url": "https://dai.google.com/linear/.../metadata",
"polling_frequency": 10,
"stream_id": "793bf10c-2323-404d-b23b-0a529d96e651:MRN",
}
-
Richiedi i metadati dell'annuncio alla frequenza di polling o per ogni ID elemento multimediale dell'annuncio ID3, aggiungendo l'ID elemento multimediale dell'annuncio all'URL dei metadati in un parametro di query.
{
"ad_breaks": {
"0001127859": {
"ads": 3,
"duration": 30,
"type": "mid"
}
},
"ads": {
"0001127859_ad2": {
"ad_break_id": "0001127859",
"ad_id": "39135088",
"ad_system": "GDFP",
"clickthrough_url": "http://pubads.g.doubleclick.net/pcs/click?...",
"creative_id": "103990016608",
"description": "Example linear 10s ad",
"duration": 10,
"position": 2,
"title": "Example linear ad"
}
},
"tags": {
"google_0028792773": {
"ad": "0001127859_ad2",
"ad_break_id": "0001127859",
"type": "firstquartile"
}, ...
}
}
-
Per ogni annuncio, attiva il valore
media_verification_url
aggiungendo il valore ID3 dalla riproduzione del supporto pubblicitario.https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/
Gli eventi Avanzamento vengono forniti per differenziare la riproduzione all'interno e all'esterno di un'interruzione pubblicitaria e non servono ad altri scopi di monitoraggio degli annunci.
Per identificare gli eventi di avanzamento, cerca l'identificatore multimediale nel file JSON dei metadati e verifica che il campo type
sia impostato su progress
. L'ID3 avanzamento può essere utilizzato, ad esempio, per bloccare i controlli video.
Rilevare l'inizio/la fine di un'interruzione pubblicitaria nello stream usando l'API DAI
DAI inserisce metadati ID3 per gli eventi dei quartili (come Inizio, Primo quartile, Punto centrale, Terzo quartile e Fine) in segmenti pubblicitari ed eventi di avanzamento (ogni secondo) in segmenti pubblicitari e slate. Quando un tag ID3 viene rilevato per la prima volta, può essere generato l'evento "interruzione pubblicitaria iniziata". Dopodiché, quando non vengono rilevati tag ID3 di questo tipo, ad esempio, per 2,5 secondi, può essere generato l'evento "interruzione pubblicitaria terminata". I tag ID3 inseriti da DAI possono essere identificati dal prefisso "google_
" e dalla loro presenza nel file JSON dei metadati.
Aggiornare dinamicamente il targeting e/o le coppie chiave-valore per streaming utente
session_update_url
può essere utilizzato per sostituire tutti i parametri dei tag annuncio utilizzati per le richieste di annunci imminenti per un live streaming (simile a replaceAdTagParameters
). Ciò è utile nei casi in cui le informazioni di targeting devono essere aggiornate in base al programma e all'utente (ad esempio per gli sport dal vivo in cui il targeting potrebbe non essere noto in anticipo).