Questa guida illustra la configurazione del manipolatore del manifest per richiedere segmenti di annunci o di slate utilizzando il metodo dei segmenti di pod di annunci pod segment.
Seleziona un protocollo di streaming:
Prerequisiti
Prima di continuare, devi configurare un evento di live streaming per il tipo di inserimento di annunci dinamici (DAI) Reindirizzamento della pubblicazione di pod e i profili di codifica. Per configurare un evento di live streaming, scegli uno dei seguenti metodi:
- UI di Ad Manager: Configura un live streaming per DAI.
- API Ad Manager: utilizza una libreria client per chiamare
LiveStreamEventService.createLiveStreamEventsmetodo. Imposta il parametroLiveStreamEvent.dynamicAdInsertionTypesuPOD_SERVING_REDIRECT. - Autenticare le richieste: ogni richiesta di segmento effettuata utilizzando la pubblicazione di pod con reindirizzamento dei segmenti deve includere un token firmato con HMAC per l'autenticazione. Calcola questo token una volta per ogni interruzione pubblicitaria e condividilo in tutte le sessioni di streaming. Per calcolare il token HMAC, consulta Autenticare le richieste di pod di annunci.
Dopo aver configurato l'evento di live streaming, recupera i profili di codifica dell'evento
dall'UI o dall'API di Ad Manager chiamando
DaiEncodingProfileService.getDaiEncodingProfilesByStatement
metodo.
Recuperare lo stream di contenuti
Quando un utente seleziona un evento di live streaming, l'app client effettua una richiesta di stream a Google Ad Manager. Nella risposta dello stream, l'app estrae l'ID sessione di DAI di Google e i metadati da includere nella richiesta del manifest dello stream.
L'esempio seguente passa un ID sessione di DAI di Google a un manipolatore del manifest:
https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY
Quando elabori la richiesta di riproduzione dei contenuti video, memorizza l'ID sessione di DAI di Google e CUSTOM_ASSET_KEY dalla richiesta per prepararti all' unione degli annunci.
Identificare i segmenti di interruzione pubblicitaria e inserire le discontinuità
Quando elabori ogni manifest della variante, identifica i tag EXT-X-CUE-IN e EXT-X-CUE-OUT nello stream, che indicano l'inizio e la fine di un'interruzione pubblicitaria.
Sostituisci i tag EXT-X-CUE-IN e EXT-X-CUE-OUT con gli elementi EXT-X-DISCONTINUITY per consentire al video player client di passare dai contenuti agli annunci.
Il seguente manifest di esempio sostituisce i tag EXT-X-CUE-IN e EXT-X-CUE-OUT:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
L'esempio seguente mostra un manifest sostituito:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
I segmenti di annunci di DAI di Google non sono criptati. Se i tuoi contenuti sono criptati, rimuovi la crittografia inserendo l'elemento EXT-X-KEY:METHOD=NONE prima del primo segmento di annunci di ogni interruzione pubblicitaria. Alla fine dell'interruzione pubblicitaria, aggiungi di nuovo la crittografia inserendo un elemento EXT-X-KEY appropriato.
Tieni traccia dell'ora di inizio, della durata e dell'indice dell'interruzione pubblicitaria imminente.
Creare URL dei segmenti di annunci
Sostituisci ogni segmento di contenuti tra i tag EXT-X-DISCONTINUITY con un URL che rimanda al metodo dei segmenti di pod di annunci.
L'esempio seguente assembla un segmento di pod di annunci. Tieni presente che i segmenti di annunci utilizzano un indice in base zero:
https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC
L'esempio seguente inserisce i segmenti di pod di annunci nel manifest:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4
Facoltativo: pianificare un'interruzione pubblicitaria
Per migliorare il tasso di riempimento, invia una notifica di interruzione pubblicitaria anticipata (EABN) con la durata del pod di annunci, i parametri di targeting personalizzato e i dati dei segnali SCTE-35. Per maggiori dettagli, consulta Inviare notifiche di interruzione pubblicitaria anticipata.