Integracja funkcji „Oglądaj dalej” za pomocą interfejsu API REST

Pakiet Engage SDK udostępnia interfejs REST API, który zapewnia spójne środowisko kontynuowania oglądania na platformach innych niż Android, takich jak iOS i Roku TV. Interfejs API umożliwia deweloperom aktualizowanie stanu „Kontynuuj oglądanie” w przypadku użytkowników, którzy wyrazili zgodę na korzystanie z platform innych niż Android.

Wymagania wstępne

  • Najpierw musisz zakończyć integrację opartą na pakiecie Engage SDK na urządzeniu. Ten ważny krok ustanawia niezbędne powiązanie między identyfikatorem użytkownika Google a elementem AccountProfile Twojej aplikacji.
  • 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 interfejsu API wymagają uwierzytelnienia.

Uzyskiwanie dostępu

Aby uzyskać dostęp do wyświetlania i włączania interfejsu API w konsoli Google Cloud, musisz zarejestrować swoje konto.

  1. Musisz mieć identyfikator klienta Google Workspace. Jeśli go nie masz, musisz skonfigurować Google Workspace oraz wszystkie konta Google, których chcesz używać do wywoływania interfejsu API.
  2. Skonfiguruj konto w konsoli Google Cloud, używając adresu e-mail powiązanego z Google Workspace.
  3. Utwórz nowy projekt.
  4. Utwórz konto usługi na potrzeby uwierzytelniania interfejsu API. Po utworzeniu konta usługi będziesz mieć 2 elementy:
    • Identyfikator konta usługi.
    • Plik JSON z kluczem konta usługi. Zabezpiecz ten plik. Będzie on potrzebny do późniejszego uwierzytelnienia klienta w interfejsie API.
  5. Obszar roboczy i powiązane z nim konta Google mogą teraz korzystać z interfejsów REST API. Gdy zmiany zostaną wprowadzone, otrzymasz powiadomienie o tym, czy interfejs API jest gotowy do wywoływania przez Twoje konta usługi.
  6. Wykonaj te czynności, aby przygotować się do wykonania wywołania interfejsu API z delegowaniem.

Publikowanie klastra kontynuacji

Aby opublikować dane Engage, wyślij żądanie POST do interfejsu publishContinuationCluster API, 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 być zgodny z elementem accountId używanym w ścieżce na urządzeniu.
  • profileId: unikalny identyfikator profilu użytkownika na koncie w Twoim systemie. Musi być zgodny z elementem `profileId` używanym w ścieżce na urządzeniu.

Adres URL konta bez profilu:

https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster

Ładunek żądania jest reprezentowany w polu entities. entities to lista elementów treści, które mogą być elementami MovieEntity lub TVEpisodeEntity. To pole jest wymagane.

Treść żądania

Pole

Typ

Wymagany

Opis

entities

Lista obiektów MediaEntity

Tak

Lista elementów treści, która może zawierać maksymalnie 5 elementów. Zachowanych zostanie tylko pierwszych 5 elementów a reszta zostanie odrzucona. Pusta lista jest dozwolona, jeśli użytkownik skończył oglądać wszystkie elementy.

Pole entities zawiera poszczególne elementy movieEntity i tvEpisodeEntity.

Pole

Typ

Wymagany

Opis

movieEntity

MovieEntity

Tak

Obiekt reprezentujący film w ContinuationCluster.

tvEpisodeEntity

TvEpisodeEntity

Tak

Obiekt reprezentujący odcinek programu telewizyjnego w ContinuationCluster.

Każdy obiekt w tablicy elementów musi być jednym z dostępnych typów MediaEntity czyli MovieEntity oraz TvEpisodeEntity,oraz zawierać pola wspólne i pola specyficzne dla danego typu.

Ten 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 Engage

Aby usunąć dane Engage, użyj interfejsu clearClusters API.

Aby usunąć dane klastra kontynuacji, wyślij żądanie POST do interfejsu clearClusters API, 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 być zgodny z elementem accountId używanym w ścieżce na urządzeniu.
  • profileId: unikalny identyfikator profilu użytkownika na koncie w Twoim systemie. Musi być zgodny z elementem `profileId` używanym w ścieżce na urządzeniu.

Ładunek interfejsu clearClusters API zawiera tylko 1 pole – reason, które zawiera element 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 „Kontynuuj oglądanie” w docelowych usługach 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. Więcej informacji znajdziesz we wskazówkach dla deweloperów aplikacji dotyczących funkcji „Następny” szczegółach.