Publicación de contenido en el Carrusel de destacados

En esta guía, se describe el modelo de datos y los pasos de integración para publicar contenido de video y TV en vivo con el SDK de Engage.

Modelo de datos MovieEntity

MovieEntity representa una película de larga duración. En la siguiente tabla, se resumen los campos clave.

Métodos públicos Tipo Requisito Descripción
getName() String Obligatorio Es el título de la película (p. ej., "Avengers: Endgame").
getDescription() String Obligatorio Es un resumen que proporciona contexto y que aparece cuando se desplaza el cursor.
getPosterImages() Lista<Imagen> Obligatorio Es una lista de imágenes que se usan para mostrar el póster de la película.
getPlatformSpecificPlaybackUris() Lista<PlatformSpecificUri> Obligatorio Son vínculos directos para la reproducción en plataformas específicas.
getDurationMillis() Largo Obligatorio Es la duración total de la película, expresada en milisegundos.
getCallToActionText() String Obligatorio (GTV) Es el texto que se muestra para solicitar la interacción del usuario (p. ej., "Ver ahora").
getTags() Lista<String> Opcional Son palabras clave que se usan para la clasificación (p. ej., "Acción/Suspenso").

Modelo de datos LiveTvProgramEntity

LiveTvProgramEntity representa un programa que se transmite o que se transmitirá en un canal específico.

Métodos públicos Tipo Requisito Descripción
getName() String Obligatorio Es el título del programa (p. ej., "NBC CT Late News").
getDescription() String Obligatorio Es un resumen que proporciona contexto sobre el programa.
getPosterImages() Lista<Imagen> Obligatorio Son imágenes que se usan para mostrar el programa.
getAvailabilityTimeWindows() Lista<DisplayTimeWindow> Obligatorio Son los períodos programados para el programa.
getChannelId() String Obligatorio Es el identificador único del canal de TV.
getChannelName() String Obligatorio Es el nombre del canal de TV.
getChannelLogoImage() Imagen Obligatorio Es la imagen del logotipo del canal de TV.
getCallToActionText() String Obligatorio (GTV) Es el texto de la solicitud de interacción.
getTags() Lista<String> Opcional Son palabras clave que se usan para la clasificación.

Ejemplos de uso del compilador

Ejemplo de MovieEntity

Consulta 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();

Ejemplo de LiveTvProgramEntity

Consulta 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() se usará para enviar contenido candidato al carrusel de funciones. El tipo de clúster debe establecerse como RecommendationClusterType.TYPE_PROVIDER_ROW.

Límites de elementos y segmentación

  • Límites de elementos: El carrusel de funciones muestra un máximo de 3 elementos.
  • Segmentación: Puedes personalizar el contenido del carrusel de funciones para cada dispositivo individual. Dado que el contenido se publica desde la app cliente instalada en el dispositivo, puedes completarlo con listas de candidatos únicas y personalizadas por usuario o dispositivo. Sin embargo, eres responsable de implementar esta lógica de segmentación, ya que el SDK de Engage no proporciona compatibilidad integrada con la segmentación.

Versión del SDK de Engage

Ten en cuenta la versión mínima del SDK de Engage que se requiere para esta integración:

engage-tv: 1.0.6