Z tego przewodnika dowiesz się, jak skonfigurować manipulator plików manifestu, aby wysyłać żądania dotyczące segmentów reklam lub plansz za pomocą metody podsegmentu bloku reklamowego.
Wybierz protokół przesyłania strumieniowego:
Wymagania wstępne
Zanim przejdziesz dalej, musisz skonfigurować wydarzenie na żywo dla typu dynamicznego wstawiania reklam (DAI) przekierowania do serwera reklam w podcaście i profili kodowania. Aby skonfigurować transmisję na żywo, wybierz jedną z tych metod:
- Interfejs Ad Managera: konfigurowanie transmisji na żywo na potrzeby DAI
- Interfejs API Ad Managera: użyj biblioteki klienta, aby wywołać metodę
LiveStreamEventService.createLiveStreamEvents. Ustaw parametrLiveStreamEvent.dynamicAdInsertionTypenaPOD_SERVING_REDIRECT. - Uwierzytelnianie żądań: każde żądanie segmentu wysyłane za pomocą przekierowania segmentu w ramach serwowania reklam w podcastach musi zawierać token podpisany za pomocą HMAC w celu uwierzytelnienia. Oblicz ten token raz na przerwę na reklamę i udostępnij go we wszystkich sesjach strumienia. Aby obliczyć token HMAC, zapoznaj się z artykułem Uwierzytelnianie żądań dotyczących bloków reklamowych.
Po skonfigurowaniu transmisji na żywo pobierz profile kodowania zdarzenia z interfejsu Ad Managera lub interfejsu API, wywołując metodę DaiEncodingProfileService.getDaiEncodingProfilesByStatement.
Pobieranie strumienia treści
Gdy użytkownik wybierze wydarzenie z transmisją na żywo, aplikacja kliencka wyśle do Google Ad Managera żądanie transmisji. W odpowiedzi strumieniowej aplikacja wyodrębnia identyfikator sesji Google DAI i metadane, aby uwzględnić je w żądaniu pliku manifestu strumienia.
W tym przykładzie identyfikator sesji Google DAI jest przekazywany do manipulatora pliku manifestu:
https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY
Podczas przetwarzania żądania odtwarzania treści wideo zapisz identyfikator sesji DAI Google i CUSTOM_ASSET_KEY z żądania, aby przygotować się do łączenia reklam.
Określanie segmentów przerw na reklamy i wstawianie nieciągłości
Podczas przetwarzania każdego pliku manifestu odmiany zidentyfikuj w strumieniu tagi EXT-X-CUE-IN i EXT-X-CUE-OUT, które wskazują początek i koniec bloku reklamowego.
Zastąp tagi EXT-X-CUE-IN i EXT-X-CUE-OUT elementami EXT-X-DISCONTINUITY, aby odtwarzacz wideo klienta mógł przełączać się między treściami a reklamami.
W przykładzie poniżej plik manifestu zastępuje tagi EXT-X-CUE-IN i 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
Poniższy przykład przedstawia zastąpiony plik manifestu:
#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
Segmenty reklam DAI w Google nie są szyfrowane. Jeśli Twoje treści są zaszyfrowane, usuń szyfrowanie, wstawiając element EXT-X-KEY:METHOD=NONE przed pierwszym segmentem reklamy w każdej przerwie na reklamę. Po zakończeniu przerwy na reklamę dodaj ponownie szyfrowanie, wstawiając odpowiedni tag EXT-X-KEY.
Śledź czas rozpoczęcia, czas trwania i indeks nadchodzącej przerwy na reklamę.
Tworzenie adresów URL segmentów reklam
Zastąp każdy segment treści między tagami EXT-X-DISCONTINUITY adresem URL wskazującym metodę segmentu bloku reklamowego.
W przykładzie poniżej pokazujemy, jak utworzyć segment bloku reklamowego. Pamiętaj, że segmenty reklam korzystają z indeksu opartego na zerze:
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
Poniższy przykład pokazuje, jak wstawić segmenty bloku reklamowego do pliku manifestu:
#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
Opcjonalnie: zaplanuj przerwę na reklamę
Aby zwiększyć współczynnik wypełnienia, wyślij powiadomienie o wczesnej przerwie na reklamę (EABN) z czasem trwania bloku reklamowego, parametrami kierowania niestandardowego i danymi sygnału SCTE-35. Więcej informacji znajdziesz w artykule Wysyłanie powiadomień o wcześniejszej przerwie na reklamy.