View a markdown version of this page

Client-side tracciamento degli annunci - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Client-side tracciamento degli annunci

Utilizzando l'API di tracciamento AWS Elemental MediaTailor lato client, puoi incorporare i controlli del giocatore durante le interruzioni pubblicitarie nei flussi di lavoro di streaming. Nel tracciamento lato client, il giocatore o il cliente invia eventi di tracciamento, come impressioni e beaconing ad quartile, all'Ad Decision Server (ADS) e ad altre entità di verifica degli annunci. Questi eventi tengono traccia sia dello stato complessivo dell'interruzione dell'annuncio sia dei singoli annunci all'interno di ciascuna interruzione. Per ulteriori informazioni su impression and quartile (ADS) e altre entità di verifica degli annunci. Per ulteriori informazioni su impression e quartile ad beaconing, vedere. Client-side beacon Per ulteriori informazioni su ADS e altre entità di verifica degli annunci, consulta. Client-side integrazioni per il tracciamento degli annunci

Per informazioni sul trasferimento dei parametri dei giocatori e dei dati di sessione all'ADS per il monitoraggio lato client, consulta e. MediaTailor variabili del giocatore per le richieste ADS MediaTailor variabili di sessione per le richieste ADS

Client-side il tracciamento abilita funzionalità come le seguenti:

Utilizzando l'API di tracciamento MediaTailor lato client, puoi inviare metadati al dispositivo di riproduzione che abilita funzionalità oltre al tracciamento lato client:

Client-side flusso di lavoro di segnalazione

Il diagramma seguente mostra il flusso di lavoro completo dei report sul lato client, dall'inizializzazione della sessione alla riproduzione degli annunci e al beaoning:

MediaTailor diagramma della sequenza di reporting sul lato client che mostra l'interazione tra il lettore video, l'Ad Decision Server MediaTailor, l'origine dei contenuti e i servizi di verifica degli annunci durante l'intero flusso di lavoro, dall'inizializzazione della sessione alla riproduzione degli annunci e al beaoning.

Il flusso di lavoro di reporting sul lato client include i seguenti passaggi:

  1. Inizializzazione della sessione: il lettore video invia una richiesta POST all'endpoint della MediaTailor sessione con metadati JSONadsParams, inclusi i token di origine e le funzionalità della sessione. MediaTailor risponde con e per la sessione. manifestUrl trackingUrl

  2. Richiesta del manifesto e decisione sull'annuncio: il giocatore richiede il manifesto personalizzato da MediaTailor. MediaTailor richiede il manifesto del contenuto originale dall'origine, invia una richiesta di annuncio all'Ad Decision Server (ADS) utilizzando i parametri del giocatore, riceve una risposta VAST con i metadati degli annunci e fornisce al giocatore un manifesto personalizzato con indicatori pubblicitari.

  3. Recupero dei dati di tracciamento: il giocatore esegue il polling dell'URL di tracciamento a intervalli regolari (facendo corrispondere la durata prevista per HLS o il periodo minimo di aggiornamento per DASH). MediaTailor restituisce i metadati di tracciamento JSON contenenti avails, annunci, eventi di tracciamento, URL beacon e dati di verifica degli annunci.

  4. Riproduzione e beacon degli annunci: durante le interruzioni pubblicitarie, il giocatore analizza i metadati di tracciamento, attiva i beacon di impressione all'inizio del rendering degli annunci, attiva i beacon quartile (start, firstQuartile, midpoint, thirdQuartile, complete) al momento opportuno, carica ed esegue la verifica degli annunci, JavaScript se necessario, e invia viewability/verification eventi a servizi di verifica di terze parti.

  5. Sondaggio continuo: il giocatore continua a interrogare l'URL di tracciamento per tutta la sessione per ricevere metadati aggiornati per le interruzioni pubblicitarie imminenti e i contenuti dinamici.

Questo flusso di lavoro abilita funzionalità avanzate come timer per il conto alla rovescia degli annunci, funzionalità click-through, annunci complementari, annunci ignorabili e visualizzazione delle icone VAST per la conformità alla privacy.

Abilitazione del tracciamento lato client

Abilita il tracciamento lato client per ogni sessione. Il giocatore crea un HTTP sull'endpoint del POST prefisso di MediaTailor inizializzazione della sessione della configurazione. Facoltativamente, il giocatore può inviare metadati aggiuntivi MediaTailor da utilizzare per effettuare chiamate pubblicitarie, richiamare l'origine di un manifesto e richiamare o disabilitare funzionalità a livello di sessione. MediaTailor

L'esempio seguente mostra la struttura dei metadati JSON:

{ "adsParams": { # 'adsParams' is case sensitive "param1": "value1", # key is not case sensitive "param2": "value2", # Values can contain spaces. For example, 'value 2' is an allowed value. }, "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin "overlayAvails":"on" # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level. }

Utilizza la MediaTailor console o l'API per configurare l'URL del modello di richiesta ADS in modo che faccia riferimento a questi parametri. Nell'esempio seguente, player_params.param1 sono i parametri del giocatore e player_params.param2 sono i parametri del giocatore perparam2. param1

https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]

Parametri del server pubblicitario

Al livello più alto della struttura JSON c'è un oggetto JSON. adsParams All'interno di questo oggetto sono presenti key/value coppie in MediaTailor grado di leggere e inviare all'ad server tutte le richieste di sessione. MediaTailor supporta i seguenti ad server:

  • Google Ad Manager

  • SpringServe

  • FreeWheel

  • Pubblica

Parametri della query di interazione di origine

Eventuali key/value coppie riservate all'interno del livello più alto della struttura JSON, ad esempio, e adsParams availSuppressionoverlayAvails, non vengono aggiunte all'URL della richiesta di origine sotto forma di parametri di query. Ogni richiesta del manifesto di sessione che viene MediaTailor effettuata all'origine contiene questi parametri di interrogazione. L'origine ignora i parametri di interrogazione estranei. Ad esempio, MediaTailor può utilizzare le key/value coppie per inviare token di accesso all'origine.

Session-configured features

Usa la struttura JSON di inizializzazione della sessione per abilitare, disabilitare o sovrascrivere funzionalità come, e. MediaTailor overlayAvails availSuppression adSignaling Qualsiasi configurazione di funzionalità passata durante l'inizializzazione della sessione sovrascrive l'impostazione a livello di configurazione. MediaTailor

Nota

I metadati inviati MediaTailor all'inizializzazione della sessione sono immutabili e non è possibile aggiungere metadati aggiuntivi per la durata della sessione. Usa i SCTE-35 marker per trasportare i dati che cambiano durante la sessione. Per ulteriori informazioni, consulta MediaTailor variabili di sessione per le richieste ADS.

Esempio: Esecuzione del monitoraggio degli annunci sul lato client per HLS
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad" # This value does not change during the session. "uid": "abdgfdyei-2283004-ueu" } }
Esempio: Esecuzione del monitoraggio degli annunci sul lato client per DASH
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }

Parametro della modalità di segnalazione

È possibile specificare la modalità di reporting durante l'inizializzazione di una sessione includendo il parametro nel corpo della richiesta. reportingMode Questo parametro controlla se MediaTailor esegue il monitoraggio degli annunci sul lato client o sul lato server per la sessione.

  • client- Il giocatore esegue il monitoraggio degli annunci e invia i beacon all'ad server. Questa è la modalità predefinita se non reportingMode viene specificato.

  • server- MediaTailor esegue il monitoraggio degli annunci sul lato server e invia i beacon direttamente all'ad server.

Esempio Inizializzazione della sessione con modalità di reporting lato server
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad", "uid": "abdgfdyei-2283004-ueu" }, "reportingMode": "server" }
Esempio Inizializzazione della sessione con modalità di reporting lato client (esplicita)
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" }, "reportingMode": "client" }
Nota

Il reportingMode parametro è impostato all'inizializzazione della sessione e non può essere modificato durante la sessione. Se non reportingMode viene specificato, il MediaTailor valore predefinito è la generazione di report sul lato client per mantenere la compatibilità con le versioni precedenti.

Una risposta corretta è un HTTP 200 con un corpo di risposta. Il corpo contiene un oggetto JSON con una manifestUrl e una trackingUrl chiave. I valori sono URL relativi che il giocatore può utilizzare sia per la riproduzione che per il monitoraggio degli eventi pubblicitari.

{ "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id", "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id" }

Per ulteriori informazioni sullo schema di tracciamento lato client, vedere. Client-side schema e proprietà di tracciamento degli annunci

Procedure consigliate per il tracciamento sul lato client

Questa sezione illustra le best practice per il tracciamento lato client per i flussi di lavoro live e MediaTailor VOD.

Flussi di lavoro live

Esegui il polling dell'endpoint di tracciamento a un intervallo corrispondente alla durata prevista per HLS o al periodo minimo di aggiornamento per DASH, in modo da disporre sempre dei metadati di tracciamento degli annunci più aggiornati. La corrispondenza di questo intervallo è particolarmente importante nei flussi di lavoro in cui i creativi possono avere una componente interattiva o sovrapposta.

Nota

Alcuni giocatori supportano gli ascoltatori degli eventi, che potrebbero essere usati come alternativa ai sondaggi. Ad esempio, la funzione di decorazione dell'ID dell' MediaTailor annuncio dovrebbe essere abilitata per ogni sessione. Per ulteriori informazioni, consulta Decorazione dell'annuncio. L'utilizzo di questa funzione inserisce un intervallo di date (HLS) o un identificatore di elemento di evento (DASH) su ogni annuncio disponibile. I giocatori possono utilizzare questi tag manifest come richiesta per chiamare l'endpoint di MediaTailor tracciamento della sessione.

Flussi di lavoro VOD

Una volta completata l'inizializzazione della sessione e dopo aver MediaTailor ricevuto il primo manifesto contenente contenuti multimediali, è sufficiente chiamare l'endpoint di tracciamento una sola volta.

Flusso di chiamate per i flussi di lavoro VOD. Chiama l'endpoint di tracciamento lato client dopo l'inizializzazione della sessione e la MediaTailor ricezione del primo manifesto contenente contenuti multimediali.

Server-guided inserimento di annunci

Server-guided Le sessioni di inserimento degli annunci (SGAI) non utilizzano l'API. GetTracking Invece, quando lo usiaws.reportingMode=CLIENT, MediaTailor fornisce informazioni di tracciamento nella TRACKING sezione di ogni risposta dell'elenco di risorse quando i giocatori richiedono contenuti pubblicitari. La risposta di inizializzazione della sessione non include untrackingUrl.

La risposta all'elenco degli asset per le sessioni SGAI tracciate sul lato client ha la seguente struttura:

{ "ASSETS": [ { "DURATION": 20.0, "URI": "https://cdn.example.com/ad1/master.m3u8" }, { "DURATION": 10.0, "URI": "https://cdn.example.com/ad2/master.m3u8" } ], "TRACKING": { ...VAST tracking events and beacon URLs for each ad... } }

Quando si implementa il tracciamento lato client per i metodi SGAI:

  • Analizza la TRACKING sezione in base alle risposte all'elenco delle risorse anziché chiamare GetTracking

  • Utilizza gli URL di tracciamento forniti nell'elenco delle risorse per la segnalazione degli eventi pubblicitari

  • Attiva i beacon di tracciamento in base agli eventi effettivi di riproduzione degli annunci nel player

  • Gestisci il monitoraggio di ogni interruzione pubblicitaria in modo indipendente man mano che vengono recuperati gli elenchi di risorse

Importante

La TRACKING sezione è inclusa nell'elenco delle risorse solo quando aws.reportingMode=CLIENT è impostata. Quando viene utilizzato il reporting lato server (impostazione predefinita per SGAI), MediaTailor omette la TRACKING sezione e incorpora invece i dati dei beacon negli URI degli annunci. Per informazioni dettagliate, vedi Server-side tracciamento con inserimento degli annunci guidato dal server (SGAI).

Sfogliando gli ad beacon con GetTracking

Usa l'GetTrackingendpoint per restringere il numero di annunci restituiti a un giocatore. Ad esempio, se una finestra del manifesto è ampia e dura molto tempo, il numero di beacon pubblicitari restituiti può influire sulle prestazioni dei giocatori.

GetTrackingrestituisce un NextToken valore che puoi usare per restringere il numero di beacon restituiti sfogliando l'elenco dei beacon restituiti. Puoi scorrere NextToken i valori per trovare il valore desiderato del campo di un ad beacon. StartTimeInSeconds

  • Alla prima chiamata aGetTracking, vengono restituiti tutti i possibili annunci che rientrano nella finestra del manifesto, inclusi un NextToken e il valore di ciascuno.

  • Se una GetTracking richiesta non include unNextToken, vengono restituiti tutti gli annunci nella finestra del manifesto.

  • Se una GetTracking richiesta contiene un NextToken ma non ci sono nuovi beacon da restituire, MediaTailor restituisce lo stesso valore NextToken inviato nella richiesta originale.

  • Quando non ci sono più beacon corrispondenti a un annuncio, GetTracking rimuove l'annuncio dalla sua risposta.

  • I token GetTracking scadono dopo 24 ore. Se un NextToken valore risale a più di 24 ore, la chiamata successiva GetTracking restituisce un valore nullo. NextToken

Sequenza di chiamata generalizzata di dal giocatore GetTracking

Dal giocatore cliente, una GetTracking richiesta è un POST con un corpo della richiesta che contiene gli annunci NextToken e i beacon relativi al token.

https://YouMediaTailorUrl/v1/tracking { "NextToken": "value" . . . }

La sequenza generale per l'utilizzo di GetTracking with NextToken è la seguente:

  1. Effettua la prima chiamata aGetTracking.

    Vengono restituiti tutti gli annunci e i beacon e il primo NextToken per le chiamate successive.

  2. Se il valore di NextToken è null, MediaTailor restituisce tutti i beacon pubblicitari.

  3. Se NextToken è scaduto, MediaTailor restituisce un messaggio di errore HTTP Return Code 400.

    Effettua una nuova chiamata a GetTracking per recuperare s validiNextToken.

  4. Scansiona l'intera risposta per trovare un ad beacon che si trova nell'intervallo desiderato. StartTimeInSeconds

  5. Effettua una nuova chiamata a GetTracking con il valore di NextToken associato a quello desiderato. StartTimeInSeconds

  6. Se necessario, scorri nuovamente gli annunci restituiti fino a trovare quelli esatti a cui vuoi giocare.

Esempio esteso

Questo esempio mostra come utilizzare GetTracking 's' NextToken per limitare il numero di ad beacon restituiti a un giocatore.

MediaTailor riceve una richiesta. GetTracking La risposta contiene un annuncio con ID 9935407 e due beacon con StartTimeInSeconds valori 52,286 e 48,332 secondi.

MediaTailor invia la risposta JSON con quanto segue: NextToken

{ "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb "avails": [ { "ads": [ { "adId": "9935407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15S", "durationInSeconds": 15, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT30S", "StartTimeInSeconds": 45, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=Impression " ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935414", "eventType": "secondQuartile", "startTime": "PT52.286S", "StartTimeInSeconds": 52.286 }, { "beaconUrls": [ "http://adserver.com/tracking?event=firstQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935412", "eventType": "firstQuartile", "startTime": "PT48.332S", "StartTimeInSeconds": 48.332 } ], "vastAdId": "" } ], "startTime": "PT46.47S", "StartTimeInSeconds": 46.47 } ] }

Alla GetTracking richiesta successiva, MediaTailor risponde con il NextToken valore:. JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb

MediaTailor risponde con annunci e beacon che corrispondono a quelli impostati nella chiamata precedenteNextToken. StartTimeInSeconds

Supponiamo che ora la risposta includa un altro annuncio con ID 9235407 oltre all'annuncio precedente con ID 9935407. I beacon dell'annuncio ID 9235407 hanno i valori 132.41 e 70.339. StartTimeInSeconds

MediaTailor scorre su tutti i beacon della sessione per selezionare quelli con una durata StartTimeInSeconds superiore a 52.286 secondi, ovvero il beacon 3 e il beacon 4 dell'annuncio con ID 9235407:

{ "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN "avails": [ { "ads": [ { "adId": "9235407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15.816S", "durationInSeconds": 19.716, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT2M0S", "StartTimeInSeconds": 120.0, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=complete" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935414", "eventType": "firstQuartile", "startTime": "PT1M10.330S", "StartTimeInSeconds": 70.339 }, { "beaconUrls": [ "http://adserver.com/tracking?event=thirdQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935412", "eventType": "secondQuartile", "startTime": "PT2M12.41S", "StartTimeInSeconds": 132.41 } ], "vastAdId": "" }, ], "startTime": "PT36.47S", "StartTimeInSeconds": 36.47 } ] }