“观看下一项”频道是主屏幕上应用行之后出现的第二行。系统创建并维护此频道。您的应用可以向“观看下一项”频道添加节目:用户标记为有趣的节目,用户中途停止观看的节目,或与用户正在观看的内容相关的节目(例如,剧集中的下一集或节目的下一季)。
“观看下一项”频道有一些限制:您的应用无法移动、删除或隐藏“观看下一项”频道的行。
步骤
将节目插入“观看下一项”频道类似于 将节目插入您自己的频道。有关“观看下一项”的具体细节,请参阅以下部分。
在 Google TV 上发布到“观看下一项”频道(显示为“继续观看”)需要 Google 通过认证流程事先批准,并使用服务器端处理根据节目的属性对节目进行排序。要开始认证流程,请提交此 链接表格。
将内容插入“观看下一项”频道时,您必须遵循以下指南
选择节目类型
有四种类型的“观看下一项”节目。选择合适的类型
类型 | 注释 |
---|---|
WATCH_NEXT_TYPE_CONTINUE | 用户在观看内容时停止了观看。 |
WATCH_NEXT_TYPE_NEXT | 用户正在观看的剧集中的下一个可用节目。例如,如果用户正在观看某个剧集的第 3 集,则应用可以建议他们接下来观看第 4 集。 |
WATCH_NEXT_TYPE_NEW | 现在有明显延续用户正在观看的内容的新内容。例如,用户正在观看某个剧集的第 5 集,第 6 集现已可供观看。 |
WATCH_NEXT_TYPE_WATCHLIST | 由系统或应用在用户保存节目时插入。 |
有关更多信息,请参阅 “观看下一项”属性。
使用 WatchNextProgram 生成器
使用 WatchNextProgram.Builder
。有关更多信息,请参阅 “观看下一项”属性。
Kotlin
val builder = WatchNextProgram.Builder() builder.setType(TvContractCompat.WatchNextPrograms.TYPE_MOVIE) .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE) .setLastEngagementTimeUtcMillis(time) .setTitle("Title") .setDescription("Program description") .setPosterArtUri(uri) .setIntentUri(uri) .setInternalProviderId(appProgramId) val watchNextProgramUri = context.contentResolver .insert(TvContractCompat.WatchNextPrograms.CONTENT_URI, builder.build().toContentValues())
Java
WatchNextProgram.Builder builder = new WatchNextProgram.Builder(); builder.setType(TvContractCompat.WatchNextPrograms.TYPE_MOVIE) .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE) .setLastEngagementTimeUtcMillis(time) .setTitle("Title") .setDescription("Program description") .setPosterArtUri(uri) .setIntentUri(uri) .setInternalProviderId(appProgramId); Uri watchNextProgramUri = context.getContentResolver() .insert(TvContractCompat.WatchNextPrograms.CONTENT_URI, builder.build().toContentValues());
使用 TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId)
创建您需要更新“继续观看”节目的 Uri
。
当用户将节目添加到“继续观看”频道时,系统会将节目复制到该行。它会发送意图 TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT
来通知应用程序该节目已添加。意图包含两个额外信息:已复制的节目 ID 和在“继续观看”频道中为节目创建的节目 ID。