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