Ce guide décrit le modèle de données et les étapes d'intégration pour publier des contenus vidéo et de télévision en direct à l'aide du SDK Engage.
Modèle de données MovieEntity
MovieEntity représente un long-métrage. Le tableau suivant récapitule les champs clés.
| Méthodes publiques | Type | Exigence | Description |
|---|---|---|---|
getName() |
Chaîne | Obligatoire | Titre du film (par exemple, "Avengers : Endgame") |
getDescription() |
Chaîne | Obligatoire | Un récapitulatif fournissant du contexte qui s'affiche au passage de la souris |
getPosterImages() |
List<Image> | Obligatoire | Liste des images utilisées pour l'affiche du film |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | Obligatoire | Liens profonds pour la lecture sur des plates-formes spécifiques |
getDurationMillis() |
Long | Obligatoire | Durée totale du film en millisecondes |
getCallToActionText() |
Chaîne | Obligatoire (GTV) | Texte affiché pour inciter l'utilisateur à interagir (par exemple, "Regarder maintenant") |
getTags() |
List<String> | Facultatif | Mots clés utilisés pour la catégorisation (par exemple, "Action/Thriller") |
Modèle de données LiveTvProgramEntity
LiveTvProgramEntity représente une émission diffusée ou programmée sur une chaîne spécifique.
| Méthodes publiques | Type | Exigence | Description |
|---|---|---|---|
getName() |
Chaîne | Obligatoire | Titre du programme (par exemple, "NBC CT Late News") |
getDescription() |
Chaîne | Obligatoire | Un résumé fournissant un contexte sur le programme |
getPosterImages() |
List<Image> | Obligatoire | Images utilisées pour l'affichage du programme |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | Obligatoire | Plages horaires prévues pour le programme |
getChannelId() |
Chaîne | Obligatoire | Identifiant unique de la chaîne TV |
getChannelName() |
Chaîne | Obligatoire | Nom de la chaîne TV |
getChannelLogoImage() |
Image | Obligatoire | Image du logo de la chaîne TV |
getCallToActionText() |
Chaîne | Obligatoire (GTV) | Texte du prompt d'interaction |
getTags() |
List<String> | Facultatif | Mots clés utilisés pour la catégorisation |
Exemples d'utilisation de l'outil de création
Exemple MovieEntity
Consultez MovieEntity.Builder.
MovieEntity movie = new MovieEntity.Builder()
.setName("La hora 25")
.setDescription("Brogan tiene 24 horas para revalorar su vida antes de ser encarcelado")
.addPosterImage(new Image.Builder()
.setImageUri(Uri.parse("https://www.example.com/movie_poster.png"))
.build())
.addPlatformSpecificPlaybackUri(new PlatformSpecificUri.Builder()
.setUri("https://www.example.com")
.setPlatformType(PlatformType.TYPE_TV)
.build())
.setDurationMillis(7200000L)
.setCallToActionText("Watch Now")
.addTag("Action/Thriller")
.build();
Exemple LiveTvProgramEntity
Consultez LiveTvProgramEntity.Builder.
LiveTvProgramEntity liveProgram = new LiveTvProgramEntity.Builder()
.setName("3:30AM: NBC CT Late News")
.setDescription("The latest local news, weather and investigative stories.")
.setChannelId("https://www.example.com")
.setChannelName("Tastemade")
.setChannelLogoImage(new Image.Builder()
.setImageUri(Uri.parse("https://example.com/v1/channels/logo.png"))
.build())
.addAvailabilityTimeWindow(new DisplayTimeWindow.Builder()
.setStartTimestampMillis(1756713600000L)
.setEndTimestampMillis(1756715400000L)
.build())
.addPosterImage(new Image.Builder()
.setImageUri(Uri.parse("https://example.com/v1/assets/image.jpg"))
.build())
.setCallToActionText("Watch Now")
.addTag("News")
.build();
API
publishRecommendationClusters() sera utilisé pour envoyer du contenu candidat au carrousel de fonctionnalités. Le type de cluster doit être défini sur RecommendationClusterType.TYPE_PROVIDER_ROW.
Limites d'articles et ciblage
- Limites d'éléments : le carrousel de sélection affiche un maximum de trois éléments.
- Ciblage : vous pouvez personnaliser le contenu du carrousel de sélection pour chaque appareil. Étant donné que le contenu est publié à partir de l'application cliente installée sur l'appareil, vous pouvez le remplir avec des listes de candidats uniques et personnalisées par utilisateur ou appareil. Toutefois, vous êtes responsable de l'implémentation de cette logique de ciblage, car le SDK Engage ne fournit pas de prise en charge du ciblage intégrée.
Version du SDK Engage
Notez la version minimale du SDK Engage requise pour cette intégration :
engage-tv: 1.0.6