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