Integrare Continua a guardare utilizzando l'API REST

book_path: /distribute/other-docs/_book.yaml project_path: /distribute/other-docs/_project.yaml

L'SDK Engage offre un'API REST per fornire un'esperienza coerente di Continua a guardare su piattaforme non Android come iOS e Roku TV. L'API consente agli sviluppatori di aggiornare lo stato "Continua a guardare" per gli utenti che hanno attivato l'opzione da piattaforme non Android.

Prerequisiti

  • Devi prima completare l'integrazione basata sull'SDK Engage on-device. Questo passaggio fondamentale stabilisce l'associazione necessaria tra l'ID utente di Google e il AccountProfile della tua app.
  • Accesso e autenticazione API: per visualizzare e abilitare l'API nel tuo progetto Google Cloud, devi superare un processo di allowlist. Tutte le richieste API richiedono l'autenticazione.

Ottenere l'accesso

Per accedere alla visualizzazione e all'attivazione dell'API nella console Google Cloud, il tuo account deve essere registrato.

  1. L'ID cliente Google Workspace deve essere disponibile. Se non è disponibile, potresti dover configurare un account Google Workspace e tutti gli Account Google che vuoi utilizzare per chiamare l'API.
  2. Configura un account con la console Google Cloud utilizzando un indirizzo email associato a Google Workspace.
  3. Crea un nuovo progetto.
  4. Crea un service account per l'autenticazione API. Una volta creato il service account, avrai due elementi:
    • Un ID service account.
    • Un file JSON con la chiave del service account. Mantieni questo file al sicuro. Ti servirà per autenticare il client all'API in un secondo momento.
  5. Workspace e gli Account Google associati ora possono utilizzare le API REST. Una volta propagata la modifica, riceverai una notifica che ti comunicherà se l'API è pronta per essere chiamata dai tuoi service account.
  6. Segui questi passaggi per prepararti a effettuare una chiamata API delegata.

Pubblica cluster di continuazione

Per pubblicare i dati di scoperta dei video, esegui una richiesta POST all'API publishContinuationCluster utilizzando la seguente sintassi.

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

Dove:

  • package_name: Il nome del pacchetto del fornitore di contenuti multimediali
  • accountId: l'ID univoco dell'account dell'utente nel tuo sistema. Deve corrispondere a accountId utilizzato nel percorso sul dispositivo.
  • profileId: l'ID univoco del profilo dell'utente all'interno dell'account nel tuo sistema. Deve corrispondere a profileId utilizzato nel percorso sul dispositivo.

L'URL dell'account senza profilo è:

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

Il payload della richiesta è rappresentato nel campo entities. entities rappresenta un elenco di entità di contenuti, che possono essere MovieEntity o TVEpisodeEntity. Questo campo è obbligatorio.

Corpo della richiesta

Field

Tipo

Obbligatorio

Descrizione

entità

Elenco di oggetti MediaEntity

Elenco di entità di contenuti con un massimo di 5. Verranno conservati solo i primi cinque e gli altri verranno eliminati. È consentito un elenco vuoto per indicare che l'utente ha terminato di guardare tutte le entità.

Il campo entities contiene movieEntity e tvEpisodeEntity individuali.

Field

Tipo

Obbligatorio

Descrizione

movieEntity

MovieEntity

Un oggetto che rappresenta un film all'interno di ContinuationCluster.

tvEpisodeEntity

TvEpisodeEntity

Un oggetto che rappresenta un episodio TV all'interno di ContinuationCluster.

Ogni oggetto nell'array di entità deve essere uno dei tipi MediaEntity disponibili, ovvero MovieEntity e TvEpisodeEntity, insieme ai campi comuni e specifici per tipo.

Il seguente snippet di codice mostra il payload del corpo della richiesta per l'API publishContinuationCluster.

{
  "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"
      }
    }
  ]
}

Eliminare i dati degli annunci video discovery

Utilizza l'API clearClusters per rimuovere i dati di rilevamento dei video.

Per eliminare i dati del cluster di continuazione, esegui una richiesta POST all'API clearClusters utilizzando la seguente sintassi.

https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters

Dove:

  • package_name: Il nome del pacchetto del fornitore di contenuti multimediali.
  • accountId: l'ID univoco dell'account dell'utente nel tuo sistema. Deve corrispondere a accountId utilizzato nel percorso sul dispositivo.
  • profileId: l'ID univoco del profilo dell'utente all'interno dell'account nel tuo sistema. Deve corrispondere a profileId utilizzato nel percorso sul dispositivo.

Il payload per l'API clearClusters contiene un solo campo, reason, che contiene un DeleteReason che specifica il motivo della rimozione dei dati.

{
  "reason": "DELETE_REASON_LOSS_OF_CONSENT"
}

Test

Dopo aver pubblicato correttamente i dati, utilizza un account di test utente per verificare che i contenuti previsti vengano visualizzati nella riga "Continua a guardare" sulle piattaforme Google di destinazione, come Google TV e le app mobile Google TV per Android e iOS.

Durante i test, consenti un ritardo di propagazione ragionevole di alcuni minuti e rispetta i requisiti di visualizzazione, ad esempio la visione di una parte di un film o il completamento di un episodio. Per maggiori dettagli, consulta le linee guida di Cosa guardare per gli sviluppatori di app.