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

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 AccountProfile 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 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.

  1. 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.
  2. Skonfiguruj konto w Google Cloud Console, używając adresu e-mail powiązanego z Google Workspace.
  3. Utwórz nowy projekt.
  4. 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.
  5. 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.
  6. 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 z accountId uż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 movieEntitytvEpisodeEntity.

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 MovieEntityTvEpisodeEntity, 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 z accountId uż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.