Interfejs Google DAI API pozwala wdrażać strumienie z włączoną usługą Google DAI w różnych środowiskach w przypadku których implementacja pakietu IMA SDK nie jest obsługiwana. Zalecamy użycie parametru IMA na platformach, na których obsługiwany jest ten pakiet.
Zalecamy korzystanie z interfejsu DAI API na tych platformach:
- Telewizor smart TV firmy Samsung (Tizen)
- LG TV
- HbbTV
- Xbox (aplikacje w języku JavaScript)
- KaiOS
Interfejs API obsługuje podstawowe funkcje zapewniane przez pakiet IMA DAI SDK. Konkretne masz pytania dotyczące zgodności lub obsługiwanych funkcji, skontaktuj się ze swoim menedżera konta.
Wdrażanie interfejsu DAI API w strumieniach VOD
Interfejs DAI API obsługuje strumienie VOD z użyciem protokołów HLS i DASH. Czynności opisane w tym przewodniku mają zastosowanie do obu protokołów.
Aby zintegrować ten interfejs API z aplikacją do obsługi strumieni VOD, następujące kroki:
Wyślij żądanie strumienia, wykonując wywołanie POST do punktu końcowego strumienia:
Przykładowa treść żądania:
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
{
key1 : "value1",
stream_parameter1 : "value2"
}Przykładowa treść odpowiedzi:
{
"stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85",
"total_duration":636.458,
"content_duration":596.458,
"valid_for":"8h0m0s",
"valid_until":"2020-06-04T20:39:41.274707306-07:00",
"stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/",
"ad_breaks":[
{
"type":"pre",
"start":0,
"duration":10,
"ads":[
{
"seq":1,
"duration":10,
"title":"External NCA1C1L1 Preroll",
"description":"External NCA1C1L1 Preroll ad",
"clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365",
"events":[
{
"time":0.1,
"type":"start"
},
{
"time":2.5,
"type":"firstquartile"
},
{
"time":4.75,
"type":"midpoint"
},
{
"time":7.5,
"type":"thirdquartile"
},
{
"time":9,
"type":"complete"
}
]
}
]
},
{
"type":"mid",
"start":45,
"duration":10,
"ads":[
{.... }
]
}
]
},
{
"type":"post",
"start":626.458,
"duration":10,
"ads":[...]
}
]
}Odpowiedź na błąd
W przypadku błędów zwracane są standardowe kody błędów HTTP bez kodu JSON. treść odpowiedzi.
Przeanalizuj odpowiedź JSON i zapisz te wartości:
stream_id
stream_manifest
media_verification_url
ad_breaks
Aby przeprowadzić weryfikację multimediów, nasłuchuj zdarzeń ID3:
- Zdarzenia multimediów zapisuj w kolejce, zapisując każdy identyfikator multimediów wraz z ich sygnatura czasowa (jeśli wyświetli się przez odtwarzacz);
- Za każdym razem, gdy informacje są przekazywane przez odtwarzacz lub w ustalonej częstotliwości (zalecane 500 ms), sprawdź kolejkę zdarzeń multimediów pod kątem ostatnio odtwarzanych zdarzeń przez porównanie sygnatur czasowych zdarzeń z suwakiem odtwarzania.
- W przypadku zdarzeń związanych z multimediami, co do których masz pewność, że zostały odtworzone, możesz śledzić odtwarzanie według dodając identyfikator mediów do punktu końcowego weryfikacji multimediów Żądanie GET.
Przykładowa treść żądania:
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
Przykładowe odpowiedzi:
Accepted for asynchronous verification - HTTP/1.1 202 Accepted Successful empty response - HTTP/1.1 204 No Content Media verification not found - HTTP/1.1 404 Not Found Media verification sent by someone else - HTTP/1.1 409 Conflict
Zdarzenia śledzenia możesz zweryfikować na stronie Aktywność w strumieniu Monitorowanie.
Opcjonalnie: użyj danych
ad_breaks
ze strumienia, aby utworzyć odpowiedź jakie typy zdarzeń zostały wywołane.Usuń zdarzenie multimedialne z kolejki.
Ograniczenia
W przypadku korzystania z interfejsu API w komponentach WebView mają następujące ograniczenia do kierowania:
- UserAgent: parametr klienta użytkownika jest przekazywany jako wartość specyficzna dla przeglądarki. a nie na platformie bazowej.
rdid
idtype
,is_lat
: identyfikator urządzenia to nie został prawidłowo zaliczony, co ogranicza następujące funkcje:- Ograniczenie liczby wyświetleń
- Sekwencyjna rotacja reklam
- Segmentacja i kierowanie odbiorców
Sprawdzone metody
Mapowanie tagów ID3 do odpowiedniego typu zdarzenia jest uciążliwe w przypadku filmów na żądanie. Użyj
zwróciło informacje ad_breaks
w pliku JSON, aby bezpośrednio wyszukać zdarzenie, na przykład
niż w przypadku transmisji na żywo.