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 longa-metragem. A tabela a seguir resume os campos principais.

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 com contexto que aparece ao passar o cursor
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
getCallToActionText() 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 que 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 Os períodos programados 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
getCallToActionText() String Obrigatório (GTV) Texto do comando de interação
getTags() List<String> Opcional Palavras-chave usadas para categorização

Exemplos de uso do criador

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)
    .setCallToActionText("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())
    .setCallToActionText("Watch Now")
    .addTag("News")
    .build();

API

O publishRecommendationClusters() será usado para enviar conteúdo candidato ao carrossel de recursos. O tipo de cluster precisa ser definido como RecommendationClusterType.TYPE_PROVIDER_ROW.

Limites de itens e segmentação

  • Limites de itens:o carrossel de destaque mostra no máximo três itens.
  • Segmentação:é possível personalizar o conteúdo do carrossel em destaque para cada dispositivo individual. Como o conteúdo é publicado pelo app cliente instalado no dispositivo, é possível preencher com listas de candidatos exclusivas e personalizadas por usuário ou dispositivo. No entanto, você é responsável por implementar essa lógica de segmentação, já que o SDK Engage não oferece suporte integrado à segmentação.

Versão do SDK Engage

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

engage-tv: 1.0.6