Pierwsze kroki z SGAI w przypadku transmisji na żywo

Wstawianie reklam sterowane przez serwer (SGAI) udostępnia plik manifestu bloku reklamowego gotowy do połączenia na urządzeniach klienckich. Jeśli w sieci Google Ad Managera masz włączone dynamiczne wstawianie reklam w podcastach, możesz korzystać z SGAI. Jeśli nie masz włączonego Pod Serving DAI, skontaktuj się z menedżerem konta.

W przypadku SGAI do tworzenia strumienia, pobierania metadanych reklamy i manifestów bloku reklamowego służą punkty końcowe interfejsu API wyświetlania bloków reklamowych.

Jeśli masz serwer do manipulowania plikiem manifestu, możesz generować adresy URL plików manifestu bloku reklamowego i wstawiać w strumieniu treści znaczniki reklamowe zawierające informacje o pliku manifestu bloku reklamowego zgodnie z wybraną specyfikacją.

Możesz też zaplanować przerwę na reklamę za pomocą innego mechanizmu niż znaczniki reklam w manifeście 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 bloku reklamowego i poinformować odtwarzacz, aby rozpoczął wczytywanie manifestu bloku reklamowego.

Wymagania wstępne

Zanim przejdziesz dalej, upewnij się, że masz:

Postępuj zgodnie z rekomendacjami

Zanim wygenerujesz adres URL manifestu bloku 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łaj interfejs API EABN, zwłaszcza jeśli Twoja sieć reklamowa ma jakieś kampanie automatyzowane. Więcej informacji znajdziesz w artykule Funkcje i wskazówki dotyczące Automatyzacji bezpośredniej.

Tworzenie żądania rejestracji strumienia

Gdy użytkownik uruchomi strumień treści w aplikacji odtwarzacza wideo, wyślij żądanie rejestracji strumienia z parametrami kierowania, aby utworzyć sesję przesyłania strumieniowego w usłudze Ad Manager. Szczegółowe informacje o wysyłaniu żądania rejestracji strumienia znajdziesz w sekcji Metoda:stream. Następnie otrzymasz dane odpowiedzi na żądanie.

W tych przykładach wysyłane jest żądanie rejestracji strumienia:

Zwykły tekst HTTP

  • 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"
}

Muszla

  • 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"
}

JavaScript

  • Korzystanie z interfejsu 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"
}

Odpytywanie o metadane przerwy na reklamę

Po wysłaniu żądania rejestracji strumienia odpytaj o metadane reklamy. Aby wysyłać zapytania, ustawiasz timer za pomocą parametru polling_frequence w odpowiedzi w strumieniu na etapie rejestracji, aby wywołać metadane reklamy. W przypadku każdej ankiety możesz otrzymać częściową listę reklam z metadanymi, gdy tylko będą dostępne.

Generowanie adresu URL pliku manifestu bloku reklamowego

Utwórz adres URL zasobu bloku reklamowego interfejsu Pod Serving API. Następnie przekaż URL do odtwarzacza wideo, aby rozpocząć wczytywanie bloku reklamowego.

Poniższy przykład pokazuje strukturę adresu URL manifestu bloku reklamowego:

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 manifestu bloku reklamowego możesz obliczyć na podstawie informacji o przerwie na reklamę pobranych z odtwarzacza wideo lub powiadomienia z serwera. Wymagania dotyczące tych parametrów znajdziesz w sekcji Metoda: pod manifest.

Odtwórz plik manifestu bloku reklamowego

W aplikacji odtwarzacza wideo klienta rozpocznij odtwarzanie strumienia treści za pomocą głównego odtwarzacza wideo i postępuj zgodnie z dokumentacją odtwarzacza wideo dotyczącą obserwowania harmonogramu odtwarzania i reklam, jeśli ma to zastosowanie.

Jeśli generujesz adresy URL manifestu bloku reklamowego i wstawiasz je do manifestu po stronie serwera, obserwuj zdarzenia nadchodzących przerw na reklamę w odtwarzaczu wideo i pamiętaj, aby subskrybować zdarzenia id3 podczas odtwarzania każdej przerwy na reklamę. Jeśli planujesz zdarzenia przerw na reklamy po stronie klienta, podczas tworzenia subskrybuj zdarzenia id3.

Raportowanie wyświetleń i zdarzeń związanych z reklamami

Gdy odtwarzacz wideo odtwarza blok reklamowy i napotyka metadane czasowe ID3, odsłuchuje zdarzenia reklamowe wywoływane przez odtwarzacz wideo i przetwarza je w celu wysyłania pingów weryfikacji multimediów.