L'API di inserimento di annunci dinamici consente di richiedere e monitorare l'inserimento di annunci dinamici streaming di video on demand (VOD). Sono supportati i flussi HLS e DASH.
Servizio: dai.google.com
Il percorso del metodo stream
è relativo a https://dai.google.com
Metodo: flusso
Metodi | |
---|---|
stream |
POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
Crea uno stream DAI HLS per la fonte di contenuto e l'ID video specificati.
Crea uno stream DAI DASH per la fonte di contenuto e l'ID video specificati. |
Richiesta HTTP
POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream
Intestazione della richiesta
Parametri | |
---|---|
api‑key |
string La chiave API, fornita durante la creazione di uno stream, deve essere valido per la rete del publisher. Anziché fornirla nel corpo della richiesta, la chiave API può essere passata nel Intestazione di autorizzazione HTTP con il seguente formato: Authorization: DCLKDAI key="<api-key>" |
Parametri del percorso
Parametri | |
---|---|
content-source |
string L'ID CMS dello stream. |
video-id |
string L'ID video dello stream. |
Corpo della richiesta
Il corpo della richiesta è di tipo application/x-www-form-urlencoded
e contiene il parametro
seguenti parametri:
Parametri | ||
---|---|---|
dai-ssb |
Facoltativo | Impostalo su |
Parametri di targeting di DFP | Facoltativo | Parametri di targeting aggiuntivi. |
Sostituire i parametri dello stream | Facoltativo | Esegui l'override dei valori predefiniti di un parametro di creazione dello stream. |
Autenticazione HMAC | Facoltativo | Esegui l'autenticazione utilizzando un token basato su HMAC. |
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un nuovo
Stream
Per gli stream di beaconing lato server, Stream
contiene solo i campi stream_id
e stream_manifest
.
Open Measurement
Il campo Verifications
contiene le informazioni per Apri
Verifica delle misurazioni per i flussi di dati non di beaconing lato server.
Verifications
contiene uno o più elementi Verification
che elencano le risorse
e i metadati necessari per verificare la riproduzione delle creatività con un codice di misurazione di terze parti.
È supportato solo JavaScriptResource
. Per ulteriori informazioni,
fai riferimento al Tech Lab di IAB
e le specifiche VAST 4.1.
Metodo: verifica dei media
Dopo aver trovato un identificatore multimediale dell'annuncio durante la riproduzione, crea immediatamente una
tramite il campo media_verification_url
di stream
endpoint. media_verification_url
è un percorso assoluto.
Le richieste di verifica dei contenuti multimediali non sono necessarie per gli stream di beaconing lato server,
dove il server avvia la verifica dei contenuti multimediali.
Le richieste all'endpoint media verification
sono idempotenti.
Metodi | |
---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
Invia una notifica all'API di un evento di verifica dei media. |
Richiesta HTTP
GET {media-verification-url}/{ad-media-id}
Corpo della risposta
media verification
restituisce le seguenti risposte:
HTTP/1.1 204 No Content
se la verifica dei contenuti multimediali ha esito positivo e vengono inviati tutti i ping.HTTP/1.1 404 Not Found
se la richiesta non può verificare i contenuti multimediali a causa di una formattazione dell'URL o una scadenza non corrette.HTTP/1.1 404 Not Found
se una precedente richiesta di verifica per questo ID ha esito positivo.HTTP/1.1 409 Conflict
se un'altra richiesta sta già inviando ping in questo momento.
ID elementi multimediali annuncio (HLS)
Gli identificatori degli elementi multimediali dell'annuncio verranno codificati nei metadati con timestamp HLS utilizzando la chiave TXXX
,
riservata alle "informazioni di testo definite dall'utente" i frame. I contenuti del frame
verranno non criptate e inizieranno sempre con il testo "google_"
.
L'intero contenuto testuale del frame deve essere aggiunto alla media_verification_url per ogni richiesta di verifica dell'annuncio.
ID elementi multimediali dell'annuncio (DASH)
Gli identificatori degli elementi multimediali degli annunci verranno inseriti nel manifest mediante l'uso di
Elemento EventStream
di DASH.
Ogni EventStream
avrà un URI dell'ID schema di urn:google:dai:2018
.
Conterranno eventi con l'attributo messageData
contenente un
ID elemento multimediale annuncio che inizia con “google_”
. Tutti i contenuti di messageData
deve essere aggiunto al media_verification_url di ogni annuncio
richiesta di verifica.
Dati di risposta
Stream
Lo stream viene utilizzato per eseguire il rendering di un elenco di tutte le risorse per un in formato JSON .Rappresentazione JSON |
---|
{ "stream_id": string, "total_duration": number, "content_duration": number, "valid_for": string, "valid_until": string, "subtitles": [object(Subtitle)], "hls_master_playlist": string, "stream_manifest": string, "media_verification_url": string, "apple_tv": object(AppleTV), "ad_breaks": [object(AdBreak)], } |
Campi | |
---|---|
stream_id |
string Identificatore stream. |
total_duration |
number Durata dello stream in secondi. |
content_duration |
number Durata dei contenuti, senza annunci, in secondi. |
valid_for |
string Durata dello stream valido per, in "00h00m00s" formato. |
valid_until |
string Data fino alla data in cui il flusso è valido, nel formato RFC 3339. |
subtitles |
[object(Subtitle)] Un elenco di sottotitoli. Omesso se vuoto. Solo HLS. |
hls_master_playlist |
string (OBSOLETO) URL della playlist principale HLS. Usa stream_manifest. Solo HLS. |
stream_manifest |
string Il file manifest dello stream. Corrisponde alla playlist principale in HLS e all'MPD in DASH. Questo è l'unico campo oltre a "stream_id" presente nella risposta quando creando uno stream di beaconing lato server. |
media_verification_url |
string URL di verifica dei contenuti multimediali. |
apple_tv |
object(AppleTV) Informazioni facoltative specifiche per i dispositivi AppleTV. Solo HLS. |
ad_breaks |
[object(AdBreak)] Un elenco di interruzioni pubblicitarie. Omesso se vuoto. |
AppleTV
AppleTV contiene informazioni specifiche per i dispositivi Apple TV.Rappresentazione JSON |
---|
{ "interstitials_url": string, } |
Campi | |
---|---|
interstitials_url |
string URL interstitial. |
AdBreak
L'interruzione pubblicitaria descrive una singola interruzione pubblicitaria nello stream. Contiene una posizione, una durata, un tipo (metà/pre/post) e un elenco di annunci.Rappresentazione JSON |
---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
Campi | |
---|---|
type |
string I tipi di interruzione validi sono: metà, prima e dopo. |
start |
number Posizionare il posizionamento nello stream in cui inizia l'interruzione, in secondi. |
duration |
number Durata dell'interruzione pubblicitaria, in secondi. |
ads |
[object(Ad)] Un elenco di annunci. Omesso se vuoto. |
Annuncio
L'annuncio descrive un annuncio nello stream. Contiene la posizione dell'annuncio nel l'interruzione pubblicitaria, la durata dell'annuncio e alcuni metadati facoltativi.Rappresentazione JSON |
---|
{ "seq": number, "start": number, "duration": number, "title": string, "description": string, "advertiser": string, "ad_system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, "clickthrough_url": string, "icons": [object(Icon)], "wrappers": [object(Wrapper)], "events": [object(Event)], "verifications": [object(Verification)], "universal_ad_id": object(UniversalAdID), "companions": [object(Companion)], "interactive_file": object(InteractiveFile), "skip_metadata": object(SkipMetadata), } |
Campi | |
---|---|
seq |
number Posizione dell'annuncio nell'interruzione. |
start |
number Posizionamento, in secondi, nello stream in cui viene avviato l'annuncio. |
duration |
number Durata dell'annuncio, in secondi. |
title |
string Titolo facoltativo dell'annuncio. |
description |
string Descrizione facoltativa dell'annuncio. |
advertiser |
string Identificatore facoltativo dell'inserzionista. |
ad_system |
string Sistema pubblicitario facoltativo. |
ad_id |
string ID annuncio facoltativo. |
creative_id |
string ID creatività facoltativo. |
creative_ad_id |
string ID annuncio facoltativo della creatività. |
deal_id |
string ID deal facoltativo. |
clickthrough_url |
string URL di clickthrough facoltativo. |
icons |
[object(Icon)] Un elenco di icone, omesso se vuoto. |
wrappers |
[object(Wrapper)] Un elenco di wrapper. Omesso se vuoto. |
events |
[object(Event)] Un elenco degli eventi nell'annuncio. |
verifications |
[object(Verification)] Voci di verifica facoltative di Open Measurement che elencano le risorse e metadati necessari per eseguire il codice di misurazione di terze parti al fine di verificare e la riproduzione delle creatività. |
universal_ad_id |
object(UniversalAdID) ID annuncio universale facoltativo. |
companions |
[object(Companion)] Annunci companion facoltativi che possono essere visualizzati insieme all'annuncio. |
interactive_file |
object(InteractiveFile) Creatività interattiva facoltativa (SIMID) da mostrare durante la riproduzione dell'annuncio. |
skip_metadata |
object(SkipMetadata) Metadati facoltativi per gli annunci ignorabili. Se impostato, indica che l'annuncio è ignorabile e include istruzioni su come gestire l'interfaccia utente per ignorare e l'evento di monitoraggio. |
Evento
L'evento contiene un tipo di evento e l'ora di presentazione dell'evento.Rappresentazione JSON |
---|
{ "time": number, "type": string, } |
Campi | |
---|---|
time |
number Data e ora di presentazione di questo evento. |
type |
string Il tipo di questo evento. |
Sottotitolo
Il sottotitolo descrive una traccia di sottotitoli collaterale per il video stream. Archivia due formati di sottotitoli: TCFL e WebVTT. L'attributo DataprocLPath contiene l'URL al file collaterale TCFL e l'attributo WebVTTPath contiene in modo simile un URL al file collaterale WebVTT.Rappresentazione JSON |
---|
{ "language": string, "language_name": string, "ttml": string, "webvtt": string, } |
Campi | |
---|---|
language |
string Un codice lingua, ad esempio "en" o "de". |
language_name |
string Nome descrittivo della lingua. Questo differenzia l'insieme specifico sottotitoli se esistono più serie per la stessa lingua |
ttml |
string URL facoltativo al file collaterale HadoopL. |
webvtt |
string URL facoltativo al file collaterale WebVTT. |
SkipMetadata
SkipMetadata fornisce le informazioni necessarie ai clienti per gestire gli eventi "ignora" per gli annunci ignorabili.Rappresentazione JSON |
---|
{ "offset": number, "tracking_url": string, } |
Campi | |
---|---|
offset |
number L'offset indica la quantità di tempo in secondi prima dell'inizio dell'annuncio nel player deve attendere prima di eseguire il rendering del pulsante Salta. Omesso se non fornito nel VAST. |
tracking_url |
string TrackingURL contiene un URL di cui deve essere inviato un ping per l'evento skip. |
Icona
L'icona contiene informazioni su un'icona VAST.Rappresentazione JSON |
---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
Campi | |
---|---|
click_data |
object(ClickData) |
creative_type |
string |
click_fallback_images |
[object(FallbackImage)] |
height |
int32 |
width |
int32 |
resource |
string |
type |
string |
x_position |
string |
y_position |
string |
program |
string |
alt_text |
string |
ClickData
ClickData contiene informazioni sul clickthrough di un'icona.Rappresentazione JSON |
---|
{ "url": string, } |
Campi | |
---|---|
url |
string |
FallbackImage
L'immagine di riserva contiene informazioni su un'immagine di riserva VAST.Rappresentazione JSON |
---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
Campi | |
---|---|
creative_type |
string |
height |
int32 |
width |
int32 |
resource |
string |
alt_text |
string |
Wrapper
Il wrapper contiene informazioni su un annuncio wrapper. Non include un ID deal se non esiste.Rappresentazione JSON |
---|
{ "system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, } |
Campi | |
---|---|
system |
string Identificatore del sistema di annunci. |
ad_id |
string ID annuncio utilizzato per l'annuncio wrapper. |
creative_id |
string ID creatività utilizzato per l'annuncio wrapper. |
creative_ad_id |
string ID annuncio creatività utilizzato per l'annuncio wrapper. |
deal_id |
string ID deal facoltativo per l'annuncio wrapper. |
Verifica
La verifica contiene informazioni per Open Measurement, che facilitano misurazione di visibilità e verifica di terze parti. Al momento, sono supportate solo le risorse JavaScript. Vedi https://iabtechlab.com/standards/open-measurement-sdk/Rappresentazione JSON |
---|
{ "vendor": string, "java_script_resources": [object(JavaScriptResource)], "tracking_events": [object(TrackingEvent)], "parameters": string, } |
Campi | |
---|---|
vendor |
string Il fornitore di servizi di verifica. |
java_script_resources |
[object(JavaScriptResource)] Elenco di risorse JavaScript per la verifica. |
tracking_events |
[object(TrackingEvent)] Elenco di eventi di monitoraggio per la verifica. |
parameters |
string Una stringa opaca passata al codice di verifica del bootstrap. |
JavaScriptResource
JavaScriptResource contiene informazioni per la verifica tramite JavaScript.Rappresentazione JSON |
---|
{ "script_url": string, "api_framework": string, "browser_optional": boolean, } |
Campi | |
---|---|
script_url |
string URI per il payload JavaScript. |
api_framework |
string APIFramework è il nome del framework video che utilizza codice di verifica. |
browser_optional |
boolean Indica se questo script può essere eseguito al di fuori di un o un browser. |
TrackingEvent
Il valore TrackingEvent contiene URL per i quali il client deve inviare un ping in determinati in situazioni diverse.Rappresentazione JSON |
---|
{ "event": string, "uri": string, } |
Campi | |
---|---|
event |
string Il tipo di evento di monitoraggio. |
uri |
string L'evento di monitoraggio di cui inviare il ping. |
UniversalAdID
UniversalAdID viene utilizzato per fornire un identificatore creatività univoco che gestiti in tutti i sistemi pubblicitari.Rappresentazione JSON |
---|
{ "id_value": string, "id_registry": string, } |
Campi | |
---|---|
id_value |
string L'ID annuncio universale della creatività selezionata per l'annuncio. |
id_registry |
string Una stringa utilizzata per identificare l'URL del sito web del registry in cui l'ID annuncio universale della creatività selezionata è catalogato. |
Companion
Questa creatività contiene informazioni relative ad annunci companion che possono essere visualizzati. insieme all'annuncio.Rappresentazione JSON |
---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
Campi | |
---|---|
click_data |
object(ClickData) I dati sui clic per questa creatività companion. |
creative_type |
string L'attributo CreativeType nella risorsa <StaticResource> in VAST si tratta di un companion di tipo statico. |
height |
int32 L'altezza in pixel di questa creatività companion. |
width |
int32 La larghezza in pixel di questa creatività companion. |
resource |
string Per companion statici e iframe, questo sarà l'URL da caricare e visualizzati. Per le creatività companion HTML, sarà lo snippet HTML che deve verrà mostrato come companion. |
type |
string Tipo di questa creatività companion. Può essere statico, iframe o HTML. |
ad_slot_id |
string L'ID slot per questa creatività companion. |
api_framework |
string Il framework API per questa app companion. |
tracking_events |
[object(TrackingEvent)] Elenco di eventi di monitoraggio per questa creatività companion. |
InteractiveFile
InteractiveFile contiene informazioni per la creatività interattiva (ad es. SIMID) da mostrare durante la riproduzione dell'annuncio.Rappresentazione JSON |
---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
Campi | |
---|---|
resource |
string L'URL della creatività interattiva. |
type |
string Il tipo MIME del file fornito come risorsa. |
variable_duration |
boolean Indica se la creatività può richiedere l'estensione della durata. |
ad_parameters |
string Il valore del parametro <AdParameters> del nodo VAST. |