本指南介绍了使用 Engage SDK 发布视频和直播电视内容的数据模型和集成步骤。
MovieEntity 数据模型
MovieEntity 表示完整电影。下表总结了关键字段。
| 公共方法 | 类型 | 要求 | 说明 |
|---|---|---|---|
getName() |
字符串 | 必填 | 电影的片名(例如“复仇者联盟:终局之战”) |
getDescription() |
字符串 | 必填 | 悬停时显示的提供背景信息的摘要 |
getPosterImages() |
List<Image> | 必填 | 用于电影海报展示的图片列表 |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | 必填 | 用于在特定平台上播放的深层链接 |
getDurationMillis() |
长边 | 必填 | 电影的总时长(以毫秒为单位) |
getCallToActionText() |
字符串 | 必需 (GTV) | 显示用于提示用户互动的文字(例如“立即观看”) |
getTags() |
List<String> | 可选 | 用于分类的关键字(例如“动作/惊悚”) |
LiveTvProgramEntity 数据模型
LiveTvProgramEntity 表示在特定频道上播出或计划播出的节目。
| 公共方法 | 类型 | 要求 | 说明 |
|---|---|---|---|
getName() |
字符串 | 必填 | 节目的标题(例如“NBC CT Late News”) |
getDescription() |
字符串 | 必填 | 提供有关该计划的背景信息的摘要 |
getPosterImages() |
List<Image> | 必填 | 用于程序显示的图片 |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | 必填 | 计划的节目时间窗口 |
getChannelId() |
字符串 | 必填 | 电视频道的唯一标识符 |
getChannelName() |
字符串 | 必填 | 电视频道的名称 |
getChannelLogoImage() |
图片 | 必填 | 电视频道的徽标图片 |
getCallToActionText() |
字符串 | 必需 (GTV) | 互动提示文字 |
getTags() |
List<String> | 可选 | 用于分类的关键字 |
构建器使用示例
MovieEntity 示例
请参阅 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();
LiveTvProgramEntity 示例
请参阅 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() 将用于向精选轮播界面发送候选内容。集群类型应设置为 RecommendationClusterType.TYPE_PROVIDER_ROW。
推荐项限制和定位
- 商品数量限制:精选轮播界面最多可显示 3 件商品。
- 定位:您可以为每台设备自定义精选轮播界面的内容。由于内容是从设备上安装的客户端应用发布的,因此您可以根据用户或设备填充唯一且个性化的候选列表。不过,您需要负责实现此定位逻辑,因为 Engage SDK 不提供内置的定位支持。
Engage SDK 版本
请注意,此集成所需的最低 Engage SDK 版本为:
engage-tv: 1.0.6