Wstawianie reklam po stronie serwera (SGAI) udostępnia manifest bloku reklamowego gotowy do zszycia na urządzeniach klienta. Jeśli masz włączone dostarczanie reklam w ramach interfejsu DAI w sieci Google Ad Manager, możesz korzystać z SGAI. Jeśli nie masz włączonego strumieniowego dostarczania treści w ramach DAI, skontaktuj się z menedżerem konta.
W przypadku SGAI używasz punktów końcowych interfejsu Pod serving API do tworzenia strumienia, który pobiera metadane reklam i manifesty bloków reklamowych.
Jeśli masz serwer do manipulowania manifetami, możesz generować adresy URL manifestów podreklam i wstawiać znaczniki reklam, które zawierają informacje z manifestu podreklam, w strumieniu treści zgodnie z wybraną specyfikacją.
Możesz też zaplanować przerwę na reklamę, korzystając z innego mechanizmu niż znaczniki reklam w pliku manifestu strumienia. W takich przypadkach aplikacja może nasłuchiwać innych zdarzeń, np. interakcji użytkownika ze strumieniem, samą aplikacją lub powiadomieniem push. Po tych zdarzeniach aplikacja może wygenerować adresy URL manifestu podgrupy reklam i zlecić odtwarzaczowi rozpoczęcie wczytywania manifestu podgrupy reklam.
Wymagania wstępne
Zanim przejdziesz dalej, sprawdź, czy masz:
- W Twojej sieci Google Ad Managera włączone jest wyświetlanie modułów DAI.
- Transmisja na żywo o typie Blok reklamowy z plikiem manifestu. Aby utworzyć zdarzenie, zapoznaj się z artykułem Konfigurowanie transmisji na żywo na potrzeby dynamicznego wstawiania reklam.
Postępuj zgodnie z rekomendacjami
Przed wygenerowaniem adresu URL pliku manifestu podsegmentu reklamowego zalecamy wywołanie interfejsu Early Ad Break Notification (EABN) API, aby określić oczekiwany czas trwania, informacje o kierowaniu i inne parametry każdej przerwy na reklamę.
W przypadku strumieni produkcyjnych i testowych wywołuj interfejs EABN API, zwłaszcza jeśli Twoja sieć reklamowa ma jakieś kampanie programowe. Więcej informacji znajdziesz w artykule Funkcje i wskazówki dotyczące automatyzacji bezpośredniej.
Przesyłanie żądania rejestracji strumienia
Gdy użytkownik rozpocznie strumieniowanie treści w aplikacji odtwarzacza wideo, wysyłasz żądanie rejestracji strumienia z parametrami kierowania, aby utworzyć sesję strumieniowania w Ad Managerze. Szczegółowe informacje o przesyłaniu żądania rejestracji strumienia znajdziesz w artykule Metoda:stream. Następnie otrzymasz dane odpowiedzi na żądanie.
Poniższe przykłady wysyłają żądanie rejestracji strumienia:
- Prośba:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded
cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
- Odpowiedź:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
- Wiersz poleceń:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
--data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
--compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
- Dane wyjściowe:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
- Korzystanie z Fetch API:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
"method": "POST",
});
const stream = await response.json();
console.log(stream);
- Log konsoli:
{
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"polling_frequency": 10,
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"manifest_format": "hls"
}
Ankieta dotycząca metadanych przerw na reklamę
Po wysłaniu żądania rejestracji strumienia sprawdź metadane reklamy. Aby przeprowadzić ankietę, ustaw timer za pomocą elementu polling_frequence
w odpowiedzi na strumień danych na etapie rejestracji, aby wywołać metadata reklamy.
W przypadku każdego sondażu możesz otrzymać częściową listę reklam z metadanymi, gdy tylko będą dostępne.
Generowanie adresu URL pliku manifestu podu reklamowego
Utwórz adres URL zasobu pod interfejsu Pod Serving API. Następnie prześlij adres URL do odtwarzacza wideo, aby rozpocząć wczytywanie bloku reklamowego.
Ten przykład pokazuje strukturę adresu URL pliku manifestu podgrupy reklam:
https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/ad_break_id/ab101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000
Parametry adresu URL pliku manifestu podsegmentu reklamy możesz obliczyć na podstawie informacji o przerwie na reklamę pobranych z odtwarzacza wideo lub powiadomienia serwera. Informacje o wymaganiach tych parametrów znajdziesz w sekcji Metoda: manifest.
Odtwarzanie reklamy w pliku manifestu
W aplikacji klienta odtwarzacza wideo rozpocznij odtwarzanie strumienia treści za pomocą głównego odtwarzacza wideo i postępuj zgodnie z instrukcjami w dokumentacji odtwarzacza dotyczącymi odtwarzania i harmonogramu reklam (w stosownych przypadkach).
Jeśli generujesz adresy URL manifestu bloku reklamowego i wstawiasz je w manifestzie po stronie serwera, obserwuj nadchodzące zdarzenia przerwy na reklamę w odtwarzaczu i upewnij się, że podczas odtwarzania każdej przerwy na reklamę subskrybujesz zdarzenia id3. Jeśli zdarzenie przerwania reklamy jest zaplanowane po stronie klienta, podczas jego tworzenia zasubskrybuj zdarzenia id3.
Zgłaszanie wyświetleń i zdarzeń związanych z reklamami
Gdy odtwarzacz wideo odtwarza blok reklamy i spotyka się z metadanymi z czasem id3, odsłuchuje zdarzenia reklamowe, które uruchamia odtwarzacz wideo, i przetwarza je, aby wysyłać pingi weryfikacji multimediów.