book_path: /distribute/other-docs/_book.yaml project_path: /distribute/other-docs/_project.yaml
Le SDK Engage propose une API REST pour offrir une expérience de visionnage continu cohérente sur les plates-formes non Android telles qu'iOS et Roku TV. L'API permet aux développeurs de mettre à jour l'état "Continuer à regarder" pour les utilisateurs inscrits à partir de plates-formes autres qu'Android.
Prérequis
.- Vous devez d'abord terminer l'intégration sur l'appareil basée sur le SDK Engage. Cette étape essentielle établit l'association nécessaire entre l'ID utilisateur Google et le
AccountProfilede votre application. - Accès à l'API et authentification : pour afficher et activer l'API dans votre projet Google Cloud, vous devez passer par un processus de liste d'autorisation. Toutes les requêtes API nécessitent une authentification.
Obtenir l'accès
Pour pouvoir afficher et activer l'API dans la console Google Cloud, vous devez enregistrer votre compte.
- Le numéro client Google Workspace devrait être disponible. Si ce n'est pas le cas, vous devrez peut-être configurer un compte Google Workspace ainsi que tous les comptes Google que vous souhaitez utiliser pour appeler l'API.
- Configurez un compte dans la console Google Cloud à l'aide d'une adresse e-mail associée à Google Workspace.
- Créez un projet.
- Créez un compte de service pour l'authentification de l'API. Une fois le compte de service créé, vous disposerez de deux éléments :
- ID d'un compte de service.
- Un fichier JSON contenant la clé de votre compte de service. Conservez ce fichier de manière sécurisée. Vous en aurez besoin pour authentifier votre client auprès de l'API ultérieurement.
- Les espaces de travail et les comptes Google associés peuvent désormais utiliser les API REST. Une fois la modification propagée, vous serez informé si l'API est prête à être appelée par vos comptes de service.
- Suivez ces étapes pour vous préparer à effectuer un appel d'API délégué.
Publier le cluster "Continuation"
Pour publier les données de découverte de vidéos, envoyez une requête POST à l'API publishContinuationCluster en utilisant la syntaxe suivante.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/publishContinuationCluster
Où :
package_name: nom du package du fournisseur de contenu multimédiaaccountId: ID unique du compte de l'utilisateur dans votre système. Il doit correspondre àaccountIdutilisé dans le chemin d'accès sur l'appareil.profileId: ID unique du profil de l'utilisateur dans le compte de votre système. Il doit correspondre à l'ID de profil utilisé dans le chemin d'accès sur l'appareil.
L'URL du compte sans profil est la suivante :
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster
La charge utile de la requête est représentée dans le champ entities. entities représente une liste d'entités de contenu, qui peuvent être MovieEntity ou TVEpisodeEntity. Ce champ est obligatoire.
Corps de la requête
Field |
Type |
Obligatoire |
Description |
entités |
Liste des objets MediaEntity |
Oui |
Liste d'entités de contenu (cinq maximum). Seuls les cinq premiers seront conservés et les autres supprimés. Une liste vide est autorisée pour indiquer que l'utilisateur a terminé de regarder toutes les entités. |
Le champ entities contient des movieEntity et des tvEpisodeEntity individuels.
Field |
Type |
Obligatoire |
Description |
movieEntity |
MovieEntity |
Oui |
Objet représentant un film dans ContinuationCluster. |
tvEpisodeEntity |
TvEpisodeEntity |
Oui |
Objet représentant un épisode TV dans ContinuationCluster. |
Chaque objet du tableau d'entités doit être l'un des types MediaEntity disponibles, à savoir MovieEntity et TvEpisodeEntity, ainsi que les champs communs et spécifiques au type.
L'extrait de code suivant présente le payload du corps de la requête pour 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"
}
}
]
}
Supprimer les données de découverte vidéo
Utilisez l'API clearClusters pour supprimer les données de découverte de vidéos.
Pour supprimer les données du cluster de continuation, envoyez une requête POST à l'API clearClusters en utilisant la syntaxe suivante.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters
Où :
package_name: nom du package du fournisseur de contenu multimédia.accountId: ID unique du compte de l'utilisateur dans votre système. Il doit correspondre àaccountIdutilisé dans le chemin d'accès sur l'appareil.profileId: ID unique du profil de l'utilisateur dans le compte de votre système. Il doit correspondre à l'ID de profil utilisé dans le chemin d'accès sur l'appareil.
La charge utile de l'API clearClusters ne contient qu'un seul champ, reason, qui contient un DeleteReason spécifiant la raison de la suppression des données.
{
"reason": "DELETE_REASON_LOSS_OF_CONSENT"
}
Tests
Une fois les données publiées, utilisez un compte de test utilisateur pour vérifier que le contenu attendu s'affiche dans la ligne "Reprendre la lecture" sur les surfaces Google cibles, telles que Google TV et les applications mobiles Google TV pour Android et iOS.
Lors des tests, prévoyez un délai de propagation raisonnable de quelques minutes et respectez les exigences de visionnage, par exemple en regardant une partie d'un film ou un épisode en entier. Pour en savoir plus, consultez les consignes relatives au canal "À regarder ensuite" pour les développeurs d'applications.