Publier du contenu dans le carrousel de sélection

Ce guide décrit le modèle de données et les étapes d'intégration pour publier du contenu vidéo et de la 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 Récapitulatif fournissant un contexte qui s'affiche au survol
getPosterImages() List<Image> Obligatoire Liste d'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
getCallToAction 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 un programme diffusé ou programmé 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 Récapitulatif fournissant un contexte sur le programme
getPosterImages() List<Image> Obligatoire Images utilisées pour l'affichage du programme
getAvailabilityTimeWindows() List<DisplayTimeWindow> Obligatoire Périodes de diffusion programmées 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
getCallToAction() Chaîne Obligatoire (GTV) Texte d'incitation à l'interaction
getTags() List<String> Facultatif Mots clés utilisés pour la catégorisation

Exemples d'utilisation du générateur

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)
    .setCallToAction("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())
    .setCallToAction("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.

Version du SDK Engage

Notez la version minimale du SDK Engage requise pour cette intégration :

engage-tv: 1.0.6