Monitoraggio degli annunci sul lato client - 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à.

Monitoraggio degli annunci sul lato client

Utilizzando il tracciamento AWS Elemental MediaTailor lato clientAPI, puoi incorporare i controlli del giocatore durante le interruzioni pubblicitarie nei flussi di lavoro di streaming. Nel tracciamento lato client, il player o il client invia eventi di tracciamento, come impressioni e annunci in quartile, all'Ad Decision Server () e ad altre entità di verifica degli annunci. ADS Per ulteriori informazioni sulle impressioni e sul quartile ad beaconing, consulta. Beaconing lato client Per ulteriori informazioni ADS e altre entità di verifica degli annunci, consulta. Integrazioni di tracciamento degli annunci sul lato client

Il tracciamento lato client abilita funzionalità come le seguenti:

Utilizzando il tracciamento MediaTailor lato clientAPI, puoi inviare metadati al dispositivo di riproduzione che abilita funzionalità oltre al tracciamento lato client:

Abilitazione del tracciamento lato client

Abilita il tracciamento lato client per ogni sessione. Il player accede HTTP POST all'endpoint del prefisso di MediaTailor inizializzazione della sessione della configurazione. Facoltativamente, il player può inviare metadati aggiuntivi MediaTailor da utilizzare per effettuare chiamate pubblicitarie, richiamare l'origine per 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. }

Usa la MediaTailor console o configura API il modello di ADS richiesta URL per fare riferimento a questi parametri. Nell'esempio seguente, player_params.param1 sono i parametri del giocatore perparam1, e player_params.param2 sono i parametri del giocatore perparam2.

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

Parametri del server pubblicitario

Al livello più alto della struttura c'è un oggetto. JSON adsParams JSON All'interno di questo oggetto ci sono coppie chiave/valore che MediaTailor possono essere lette e inviate all'ad server in tutte le richieste di sessione. MediaTailor supporta i seguenti ad server:

  • Google Ad Manager

  • SpringServe

  • FreeWheel

  • Publica

Parametri della query di interazione Origin

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

Funzionalità configurate in base alla sessione

Utilizza la JSON struttura di inizializzazione della sessione per abilitare, disabilitare o sostituire funzionalità come, e. MediaTailor overlayAvails availSuppression adSignaling Qualsiasi configurazione di funzionalità passata durante l'inizializzazione della sessione ha la precedenza sull'impostazione a livello di configurazione. MediaTailor

Nota

I metadati inviati al MediaTailor momento dell'inizializzazione della sessione sono immutabili e non è possibile aggiungere metadati aggiuntivi per tutta la durata della sessione. Utilizzate i marcatori SCTE -35 per trasportare i dati che cambiano durante la sessione. Per ulteriori informazioni, consulta Utilizzo delle variabili di sessione.

Esempio : Esecuzione del tracciamento 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 lato client per DASH
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }

Una risposta corretta è una HTTP 200 con un corpo di risposta. Il corpo contiene un JSON oggetto con una manifestUrl e una trackingUrl chiave. I valori sono relativi URLs e il lettore può utilizzare sia per la riproduzione che per il tracciamento 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. Schema e proprietà di tracciamento degli annunci sul lato client

Le migliori pratiche per il tracciamento lato client

Questa sezione descrive le migliori pratiche per il tracciamento lato client sia per i flussi di lavoro che MediaTailor per quelli in tempo reale. VOD

Flussi di lavoro in tempo reale

Esegui sondaggi sull'endpoint di tracciamento a intervalli corrispondenti alla durata prevista o al periodo minimo di aggiornamento per HLS avere sempre a disposizione i DASH metadati di tracciamento degli annunci più aggiornati. La corrispondenza di questo intervallo è particolarmente importante nei flussi di lavoro in cui i creativi potrebbero avere un componente interattivo o di sovrapposizione.

Nota

Alcuni giocatori supportano gli ascoltatori di eventi, che potrebbero essere usati come alternativa ai sondaggi. Ad esempio, la funzione di decorazione degli ID MediaTailor pubblicitari 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 per richiedere la chiamata all'endpoint di MediaTailor tracciamento per la sessione.

VODflussi di lavoro

Dopo una corretta inizializzazione della sessione e dopo aver MediaTailor ricevuto il primo manifesto contenente i file multimediali, è sufficiente chiamare l'endpoint di tracciamento una sola volta.

Flusso di chiamate per i flussi di lavoroVOD. Chiama l'endpoint di tracciamento sul lato client dopo che la sessione si è inizializzata e ha MediaTailor ricevuto il primo manifesto che contiene file multimediali.

Sfogliare gli annunci beacon con GetTracking

Utilizza 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 ad beacon restituiti può influire sulle prestazioni del giocatore.

GetTrackingrestituisce un NextToken valore che è possibile utilizzare 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, incluso un valore NextToken e per ciascuno.

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

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

  • 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 «from player» GetTracking

Dal lettore client, una GetTracking richiesta è una richiesta 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 gli ad beacon.

  3. Se NextToken è scaduto, MediaTailor restituisce un messaggio di errore con codice di HTTP ritorno 400.

    Effettua una nuova chiamata a per GetTracking recuperare i messaggi validiNextToken.

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

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

  6. Se necessario, scorri nuovamente gli annunci restituiti fino a trovare esattamente quelli a cui desideri riprodurre.

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 JSONinvia la risposta con la seguente formula: 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,: JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN 0 lqrBYycg M. bKEb

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 s 132.41 e 70.339. StartTimeInSeconds

MediaTailor esegue un'iterazione su tutti i beacon della sessione per selezionare quelli con StartTimeInSeconds più di 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 } ] }