L'API di inserimento di annunci dinamici ti consente di richiedere e monitorare gli stream lineari (LIVE) DAI.
Servizio: dai.google.com
Tutti gli URI sono relativi a https://dai.google.com
Metodo: stream
| Metodi | |
|---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
Crea uno stream DAI per l'ID evento specificato. |
Richiesta HTTP
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream
Intestazione della richiesta
| Parametri | |
|---|---|
api‑key |
stringLa chiave API, fornita durante la creazione di uno stream, deve essere valida per la rete del publisher. Anziché fornirla nel corpo della richiesta, la chiave API può essere passata nell'intestazione di autorizzazione HTTP con il seguente formato: Authorization: DCLKDAI key="<api-key>" |
Parametri del percorso
| Parametri | |
|---|---|
assetKey |
stringL'ID evento dello stream. |
Corpo della richiesta
Il corpo della richiesta è di tipo application/x-www-form-urlencoded e contiene i seguenti parametri:
| Parametri | ||
|---|---|---|
dai-ssb |
Facoltativo | Imposta su |
| Parametri di targeting DFP | Facoltativo | Parametri di targeting aggiuntivi. |
| Override Stream Parameters | Facoltativo | Esegui l'override dei valori predefiniti di un parametro di creazione dello stream. |
| Autenticazione HMAC | Facoltativo | Autenticati 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, questo Stream
contiene solo i campi stream_id e stream_manifest.
Open Measurement
L'API DAI contiene informazioni per la verifica Open Measurement nel campo
Verifications. Questo campo contiene uno o più elementi
Verification che elencano le risorse e i metadati necessari per eseguire
il codice di misurazione di terze parti al fine di verificare la riproduzione delle creatività. È supportato solo
JavaScriptResource. Per saperne di più, consulta la
specifica di IAB Tech Lab e la
specifica VAST 4.1.
Metodo: verifica dei media
Dopo aver rilevato un identificatore di contenuti multimediali dell'annuncio durante la riproduzione, invia immediatamente una richiesta utilizzando l'media_verification_url ottenuta dall'endpoint stream. Queste richieste non sono necessarie per gli stream di beaconing lato server, in cui 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}
Notifica all'API un evento di verifica dei contenuti multimediali. |
Richiesta HTTP
GET https://{media-verification-url}/{ad-media-id}
Corpo della risposta
media verification
restituisce le seguenti risposte:
HTTP/1.1 204 No Contentse la verifica dei contenuti multimediali ha esito positivo e vengono inviati tutti i ping.HTTP/1.1 404 Not Foundse la richiesta non riesce a verificare i contenuti multimediali a causa di una formattazione errata dell'URL o della scadenza.HTTP/1.1 404 Not Foundse una precedente richiesta di verifica per questo documento d'identità è andata a buon fine.HTTP/1.1 409 Conflictse un'altra richiesta sta già inviando ping in questo momento.
ID elemento multimediale annuncio (HLS)
Gli identificatori dei contenuti multimediali dell'annuncio verranno codificati nei metadati temporizzati HLS utilizzando la chiave
TXXX, riservata ai frame "informazioni di testo definite dall'utente". I
contenuti del frame verranno decriptati e inizieranno sempre con il testo
"google_".
L'intero contenuto di testo del frame deve essere aggiunto all'URL di verifica dell'annuncio prima di effettuare ogni richiesta di verifica dell'annuncio.
Metodo: metadati
L'endpoint dei metadati all'indirizzo metadata_url restituisce le informazioni utilizzate per creare un'interfaccia utente dell'annuncio. L'endpoint dei metadati non è disponibile per gli stream di beaconing lato server,
in cui il server è responsabile dell'avvio della verifica dei contenuti multimediali degli annunci.
| Metodi | |
|---|---|
metadata |
GET /{metadata_url}/{ad-media-id}GET /{metadata_url}
Recupera le informazioni sui metadati dell'annuncio. |
Richiesta HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Parametri di query
| Parametri | ||
|---|---|---|
delta_token |
facoltativo |
string
Un token opaco che rappresenta lo stato di sincronizzazione attuale del client.
Se fornito, il server restituisce solo i metadati modificati dalla generazione del token,
insieme a un nuovo |
Corpo della risposta
In caso di esito positivo, la risposta restituisce un'istanza di PodMetadata.
Utilizzo dei metadati
I metadati sono suddivisi in tre sezioni distinte: tags, ads e breaks. Il punto
di accesso ai dati è la sezione tags. Da qui, scorri i tag
e trova la prima voce il cui nome è un prefisso per l'ID media annuncio trovato nel flusso video. Ad esempio, potresti
avere un ID media annuncio simile a questo:
google_1234567890
Poi trovi un oggetto tag denominato google_12345. In questo caso, corrisponde all'ID
del media dell'annuncio. Una volta trovato l'oggetto prefisso multimediale annuncio corretto, puoi cercare
gli ID annuncio, gli ID interruzione pubblicitaria e il tipo di evento. Gli ID annuncio vengono poi utilizzati per indicizzare gli oggetti ads e gli ID interruzione pubblicitaria vengono utilizzati per indicizzare gli oggetti breaks.
Dati della risposta
Stream
Stream viene utilizzato per eseguire il rendering di un elenco di risorse per un flusso appena creato in formato JSON.| Rappresentazione JSON |
|---|
{
"stream_id": string,
"stream_manifest": string,
"hls_master_playlist": string,
"media_verification_url": string,
"metadata_url": string,
"session_update_url": string,
"polling_frequency": number,
} |
| Campi | |
|---|---|
stream_id |
stringL'identificatore dello stream GAM. |
stream_manifest |
stringL'URL del manifest dello stream, utilizzato per recuperare la playlist multivariante in HLS o l'MPD in DASH. |
hls_master_playlist |
string(OBSOLETO) URL della playlist multivariante HLS. Utilizza "stream_manifest". |
media_verification_url |
stringL'URL di verifica dei contenuti multimediali utilizzato come endpoint di base per il monitoraggio degli eventi di riproduzione. |
metadata_url |
stringURL dei metadati utilizzato per eseguire il polling delle informazioni periodiche sugli eventi pubblicitari in streaming imminenti. |
session_update_url |
stringL'URL di aggiornamento della sessione utilizzato per aggiornare i parametri di targeting per questo stream. I valori originali dei parametri di targeting vengono acquisiti durante la richiesta iniziale di creazione dello stream. |
polling_frequency |
numberLa frequenza di polling, in secondi, quando si richiede metadata_url o heartbeat_url. |
PodMetadata
PodMetadata contiene informazioni sui metadati di annunci, interruzioni pubblicitarie e tag ID media.| Rappresentazione JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| Campi | |
|---|---|
tags |
map[string, object(TagSegment)]Mappa dei segmenti di tag indicizzati in base al prefisso del tag. |
ads |
map[string, object(Ad)]Mappa degli annunci indicizzati per ID annuncio. |
ad_breaks |
map[string, object(AdBreak)]Mappa delle interruzioni pubblicitarie indicizzate per ID interruzione pubblicitaria. |
next_delta_token |
stringUn token opaco che il client deve utilizzare nel sondaggio successivo. |
obsolete_ad_break_ids |
stringUn elenco di ID interruzione pubblicitaria obsoleti e da rimuovere dalla cache del client. |
TagSegment
TagSegment contiene un riferimento a un annuncio, alla relativa interruzione pubblicitaria e al tipo di evento. TagSegment con type="progress" non deve essere sottoposto a ping all'endpoint di verifica dei contenuti multimediali dell'annuncio.| Rappresentazione JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| Campi | |
|---|---|
ad |
stringL'ID dell'annuncio di questo tag. |
ad_break_id |
stringL'ID dell'interruzione pubblicitaria di questo tag. |
type |
stringIl tipo di evento di questo tag. |
AdBreak
AdBreak descrive una singola interruzione pubblicitaria nello stream. Contiene una durata, un tipo (mid/pre/post) e il numero di annunci.| Rappresentazione JSON |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| Campi | |
|---|---|
type |
stringI tipi di interruzione validi sono: pre, mid e post. |
duration |
numberDurata totale dell'annuncio per questa interruzione pubblicitaria, in secondi. |
expected_duration |
numberDurata prevista dell'interruzione pubblicitaria (in secondi), inclusi tutti gli annunci e qualsiasi slate. |
ads |
numberNumero di annunci nell'interruzione pubblicitaria. |
Annuncio
Annuncio descrive un annuncio nello stream.| Rappresentazione JSON |
|---|
{
"ad_break_id": string,
"position": 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,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| Campi | |
|---|---|
ad_break_id |
stringL'ID dell'interruzione pubblicitaria di questo annuncio. |
position |
numberPosizione di questo annuncio nell'interruzione pubblicitaria, a partire da 1. |
duration |
numberDurata dell'annuncio, in secondi. |
title |
stringTitolo facoltativo dell'annuncio. |
description |
stringDescrizione facoltativa dell'annuncio. |
advertiser |
stringIdentificatore inserzionista facoltativo. |
ad_system |
stringSistema pubblicitario facoltativo. |
ad_id |
stringID annuncio facoltativo. |
creative_id |
stringID creatività facoltativo. |
creative_ad_id |
stringID annuncio creatività facoltativo. |
deal_id |
stringID offerta facoltativo. |
clickthrough_url |
string(Facoltativo) URL di clickthrough. |
click_tracking_urls |
string(Facoltativo) URL di monitoraggio dei clic. |
verifications |
[object(Verification)]Voci di verifica Open Measurement facoltative che elencano le risorse e i metadati necessari per eseguire il codice di misurazione di terze parti per verificare la riproduzione delle creatività. |
slate |
booleanValore booleano facoltativo che indica che la voce corrente è una proposta. |
icons |
[object(Icon)]Un elenco di icone, omesso se vuoto. |
wrappers |
[object(Wrapper)]Un elenco di wrapper, omesso se vuoto. |
universal_ad_id |
object(UniversalAdID)ID annuncio universale facoltativo. |
extensions |
stringElenco facoltativo di tutti i nodi <Extension> in VAST. |
companions |
[object(Companion)]Asset companion facoltativi che possono essere visualizzati insieme a questo annuncio. |
interactive_file |
object(InteractiveFile)Creatività interattiva facoltativa (SIMID) da visualizzare durante la riproduzione dell'annuncio. |
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 su un clickthrough di un'icona.| Rappresentazione JSON |
|---|
{
"url": string,
} |
| Campi | |
|---|---|
url |
string |
FallbackImage
FallbackImage 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 |
stringIdentificatore del sistema pubblicitario. |
ad_id |
stringID annuncio utilizzato per l'annuncio wrapper. |
creative_id |
stringID creatività utilizzato per l'annuncio wrapper. |
creative_ad_id |
stringID annuncio della creatività utilizzato per l'annuncio wrapper. |
deal_id |
stringID deal facoltativo per l'annuncio wrapper. |
Verifica
La verifica contiene informazioni per Open Measurement, che facilita la misurazione della visibilità e della verifica di terze parti. Al momento sono supportate solo le risorse JavaScript. Visita la pagina https://iabtechlab.com/standards/open-measurement-sdk/| Rappresentazione JSON |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| Campi | |
|---|---|
vendor |
stringIl fornitore di soluzioni di verifica. |
java_script_resources |
[object(JavaScriptResource)]Elenco delle risorse JavaScript per la verifica. |
tracking_events |
[object(TrackingEvent)]Elenco degli eventi di monitoraggio per la verifica. |
parameters |
stringUna stringa opaca passata al codice di verifica di bootstrap. |
JavaScriptResource
JavaScriptResource contiene informazioni per la verifica tramite JavaScript.| Rappresentazione JSON |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Campi | |
|---|---|
script_url |
stringURI del payload JavaScript. |
api_framework |
stringAPIFramework è il nome del framework video che esercita il codice di verifica. |
browser_optional |
booleanIndica se questo script può essere eseguito al di fuori di un browser. |
TrackingEvent
TrackingEvent contiene URL che devono essere pingati dal client in determinate situazioni.| Rappresentazione JSON |
|---|
{
"event": string,
"uri": string,
} |
| Campi | |
|---|---|
event |
stringIl tipo di evento di monitoraggio. |
uri |
stringL'evento di monitoraggio da pingare. |
UniversalAdID
UniversalAdID viene utilizzato per fornire un identificatore univoco della creatività mantenuto in tutti i sistemi pubblicitari.| Rappresentazione JSON |
|---|
{ "id_value": string, "id_registry": string, } |
| Campi | |
|---|---|
id_value |
stringL'ID annuncio universale della creatività selezionata per l'annuncio. |
id_registry |
stringUna stringa utilizzata per identificare l'URL del sito web del registro in cui è catalogato l'ID annuncio universale della creatività selezionata. |
Complementare
Companion contiene informazioni sugli annunci companion che potrebbero 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 questo companion. |
creative_type |
stringL'attributo CreativeType nel nodo <StaticResource> del tag VAST se si tratta di una companion di tipo statico. |
height |
int32L'altezza in pixel di questo annuncio companion. |
width |
int32La larghezza in pixel di questo annuncio companion. |
resource |
stringPer i companion statici e iframe, questo sarà l'URL da caricare e visualizzare. Per i companion HTML, questo sarà lo snippet HTML da mostrare come companion. |
type |
stringTipo di questa creatività companion. Può essere statico, iframe o HTML. |
ad_slot_id |
stringL'ID slot per questo annuncio companion. |
api_framework |
stringIl framework API per questo complemento. |
tracking_events |
[object(TrackingEvent)]Elenco degli eventi di monitoraggio per questo annuncio companion. |
InteractiveFile
InteractiveFile contiene informazioni per la creatività interattiva (ad es. SIMID) che devono essere visualizzate durante la riproduzione dell'annuncio.| Rappresentazione JSON |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Campi | |
|---|---|
resource |
stringL'URL della creatività interattiva. |
type |
stringIl tipo MIME del file fornito come risorsa. |
variable_duration |
booleanIndica se è possibile richiedere l'estensione della durata di questa creatività. |
ad_parameters |
stringIl valore del nodo <AdParameters> in VAST. |