Publicar conteúdo no carrossel em destaque

Este guia descreve o modelo de dados e as etapas de integração para publicar conteúdo de vídeo e TV ao vivo usando o SDK Engage.

Modelo de dados MovieEntity

O MovieEntity representa um filme completo. A tabela a seguir resume os principais campos.

Métodos públicos Tipo Requisito Descrição
getName() String Obrigatório O título do filme (por exemplo, "Vingadores: Ultimato")
getDescription() String Obrigatório Um resumo que fornece contexto e aparece ao passar o cursor do mouse
getPosterImages() List<Image> Obrigatório Uma lista de imagens usadas para a exibição do pôster do filme
getPlatformSpecificPlaybackUris() List<PlatformSpecificUri> Obrigatório Links diretos para reprodução em plataformas específicas
getDurationMillis() Longo Obrigatório A duração total do filme em milissegundos
getCallToAction String Obrigatório (GTV) Texto exibido para solicitar a interação do usuário (por exemplo, "Assistir agora")
getTags List<String> Opcional Palavras-chave usadas para categorização (por exemplo, "Ação/Suspense")

Modelo de dados LiveTvProgramEntity

O LiveTvProgramEntity representa um programa que está sendo transmitido ou programado para ser transmitido em um canal específico.

Métodos públicos Tipo Requisito Descrição
getName() String Obrigatório O título do programa (por exemplo, "NBC CT Late News")
getDescription() String Obrigatório Um resumo que fornece contexto sobre o programa
getPosterImages() List<Image> Obrigatório Imagens usadas para a exibição do programa
getAvailabilityTimeWindows() List<DisplayTimeWindow> Obrigatório As janelas de tempo programadas para o programa
getChannelId() String Obrigatório Identificador exclusivo do canal de TV
getChannelName() String Obrigatório Nome do canal de TV
getChannelLogoImage() Imagem Obrigatório Imagem do logotipo do canal de TV
getCallToAction() String Obrigatório (GTV) Texto do prompt de interação
getTags() List<String> Opcional Palavras-chave usadas para categorização

Exemplos de uso do builder

Exemplo de MovieEntity

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

Exemplo de LiveTvProgramEntity

Consulte 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() será usado para enviar conteúdo candidato ao carrossel de recursos. O tipo de cluster precisa ser definido como RecommendationClusterType.TYPE_PROVIDER_ROW.

Versão do SDK Engage

Observe a versão mínima do SDK Engage necessária para essa integração:

engage-tv: 1.0.6