book_path: /distribute/other-docs/_book.yaml project_path: /distribute/other-docs/_project.yaml
Pakiet Engage SDK udostępnia interfejs REST API, który zapewnia spójne działanie funkcji „Oglądaj dalej” na platformach innych niż Android, takich jak iOS i Roku TV. Interfejs API umożliwia deweloperom aktualizowanie stanu „Oglądaj dalej” w przypadku użytkowników, którzy wyrazili zgodę na tę funkcję, na platformach innych niż Android.
Wymagania wstępne
- Najpierw musisz zakończyć integrację opartą na pakiecie Engage SDK na urządzeniu. Ten kluczowy krok tworzy niezbędne powiązanie między identyfikatorem użytkownika Google a
AccountProfileaplikacji. - Dostęp do interfejsu API i uwierzytelnianie: aby wyświetlić i włączyć interfejs API w projekcie Google Cloud, musisz przejść proces dodawania do listy dozwolonych. Wszystkie żądania API wymagają uwierzytelnienia.
Uzyskiwanie dostępu
Aby uzyskać dostęp do interfejsu API w konsoli Google Cloud i móc go włączyć, musisz zarejestrować swoje konto.
- Identyfikator klienta Google Workspace powinien być dostępny. Jeśli nie jest dostępny, może być konieczne skonfigurowanie Google Workspace oraz wszystkich kont Google, których chcesz używać do wywoływania interfejsu API.
- Skonfiguruj konto w Google Cloud Console, używając adresu e-mail powiązanego z Google Workspace.
- Utwórz nowy projekt.
- Utwórz konto usługi do uwierzytelniania interfejsu API. Po utworzeniu konta usługi będziesz mieć 2 elementy:
- Identyfikator konta usługi.
- Plik JSON z kluczem konta usługi. Chroń ten plik. Będziesz go potrzebować później do uwierzytelniania klienta w interfejsie API.
- Usługi Workspace i powiązane z nimi konta Google mogą teraz korzystać z interfejsów API REST. Gdy zmiana zostanie wprowadzona, otrzymasz powiadomienie o tym, czy interfejs API jest gotowy do wywoływania przez Twoje konta usługi.
- Aby przygotować się do wykonania wywołania delegowanego interfejsu API, wykonaj te czynności.
Publikowanie klastra kontynuacji
Aby opublikować dane dotyczące reklam wideo Discovery, wyślij żądanie POST do interfejsu APIpublishContinuationCluster, używając tej składni:
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/publishContinuationCluster
Gdzie:
package_name: nazwa pakietu dostawcy multimediów.accountId: unikalny identyfikator konta użytkownika w Twoim systemie. Musi on być zgodny zaccountIdużywanym w ścieżce na urządzeniu.profileId: unikalny identyfikator profilu użytkownika na koncie w Twoim systemie. Musi odpowiadać identyfikatorowi profileId używanemu w ścieżce na urządzeniu.
Adres URL konta bez profilu to:
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster
Ładunek żądania jest przedstawiony w polu entities. entities
reprezentuje listę elementów treści, które mogą być MovieEntity lub
TVEpisodeEntity. To pole jest wymagane.
Treść żądania
Pole |
Typ |
Wymagane |
Opis |
jednostki, |
Lista obiektów MediaEntity |
Tak |
Lista podmiotów treści, maksymalnie 5. Zachowamy tylko 5 najlepszych, a pozostałe usuniemy. Pusta lista jest dozwolona, aby oznaczać, że użytkownik obejrzał wszystkie elementy. |
Pole entities zawiera poszczególne wartości movieEntity i tvEpisodeEntity.
Pole |
Typ |
Wymagane |
Opis |
movieEntity |
MovieEntity |
Tak |
Obiekt reprezentujący film w ramach ContinuationCluster. |
tvEpisodeEntity |
TvEpisodeEntity |
Tak |
Obiekt reprezentujący odcinek serialu w ramach ContinuationCluster. |
Każdy obiekt w tablicy entities musi być jednym z dostępnych typów MediaEntity, czyli MovieEntity i TvEpisodeEntity, oraz zawierać pola wspólne i specyficzne dla danego typu.
Poniższy fragment kodu przedstawia ładunek treści żądania dla interfejsu publishContinuationCluster API.
{
"entities": [
{
"movieEntity": {
"watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
"name": "Movie1",
"platform_specific_playback_uris": [
"https://www.example.com/entity_uri_for_android",
"https://www.example.com/entity_uri_for_iOS"
],
"poster_images": [
"http://www.example.com/movie1_img1.png",
"http://www.example.com/movie1_imag2.png"
],
"last_engagement_time_millis": 864600000,
"duration_millis": 5400000,
"last_play_back_position_time_millis": 3241111
}
},
{
"tvEpisodeEntity": {
"watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
"name": "TV SERIES EPISODE 1",
"platform_specific_playback_uris": [
"https://www.example.com/entity_uri_for_android",
"https://www.example.com/entity_uri_for_iOS"
],
"poster_images": [
"http://www.example.com/episode1_img1.png",
"http://www.example.com/episode1_imag2.png"
],
"last_engagement_time_millis": 864600000,
"duration_millis": 1800000,
"last_play_back_position_time_millis": 2141231,
"episode_display_number": "1",
"season_number": "1",
"show_title": "title"
}
}
]
}
Usuwanie danych dotyczących odkrywania filmów
Użyj clearClustersinterfejsu API, aby usunąć dane dotyczące odkrywania filmów.
Aby usunąć dane klastra kontynuacji, wyślij żądanie POST do interfejsu APIclearClusters, używając tej składni.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters
Gdzie:
package_name: Nazwa pakietu dostawcy multimediów.accountId: unikalny identyfikator konta użytkownika w Twoim systemie. Musi on być zgodny zaccountIdużywanym w ścieżce na urządzeniu.profileId: unikalny identyfikator profilu użytkownika na koncie w Twoim systemie. Musi odpowiadać identyfikatorowi profileId używanemu w ścieżce na urządzeniu.
Ładunek interfejsu clearClusters API zawiera tylko jedno pole, reason, które zawiera DeleteReason określający przyczynę usunięcia danych.
{
"reason": "DELETE_REASON_LOSS_OF_CONSENT"
}
Testowanie
Po przesłaniu danych użyj testowego konta użytkownika, aby sprawdzić, czy oczekiwane treści pojawiają się w wierszu „Oglądaj dalej” na docelowych platformach Google, takich jak Google TV oraz aplikacje mobilne Google TV na Androida i iOS.
Podczas testowania uwzględnij rozsądne opóźnienie propagacji wynoszące kilka minut i przestrzegaj wymagań dotyczących oglądania, np. obejrzyj część filmu lub cały odcinek. Szczegółowe informacje znajdziesz w wytycznych dotyczących funkcji „Obejrzyj następny” dla deweloperów aplikacji.