“接下来观看”频道是主屏幕上显示的第二行,位于应用行之后。系统会创建并维护此频道。您的应用可以将程序添加到“接下来观看”频道:用户标记为感兴趣的程序、中途停止观看的程序或与用户正在观看的内容相关的程序(例如系列剧的下一集或节目的下一季)。
“接下来观看”频道有一些限制:您的应用无法移动、删除或隐藏“接下来观看”频道的行。
步骤
将程序插入“接下来观看”频道类似于将程序插入您自己的频道。有关“接下来观看”的详细信息,请参阅以下部分。
发布到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。