将节目添加到“接下来观看”频道

“接下来观看”频道是主屏幕中继应用行之后的第二行。系统会创建和维护此频道。您的应用可以将节目添加到“接下来观看”频道:这些节目可以是用户标记为感兴趣的、观看中途停止的,或与用户正在观看的内容相关的(例如系列的下一集或节目的下一季)。

“接下来观看”频道有一些限制:您的应用无法移动、移除或隐藏“接下来观看”频道的行。

步骤

将节目插入“接下来观看”频道类似于将节目插入您自己的频道。有关“接下来观看”的具体详情,请参阅以下部分。

在 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

当用户将节目添加到“接下来观看”频道时,系统会将节目复制到该行。它会发送 intent TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT 以通知应用已添加该节目。该 intent 包含两个额外项:复制的节目 ID 和为“接下来观看”频道中的节目创建的节目 ID。