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

“接下来观看”频道是主屏幕上显示的第二行,位于应用行之后。此频道由系统创建和维护。您的应用可以向“接下来观看”频道添加节目,包括用户标记为感兴趣的节目、用户观看到中间停止的节目,或者与用户正在观看的内容相关的节目(例如连续剧的下一集或节目的下一季)。

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

步骤

将节目插入“接下来观看”频道与将节目插入您自己的频道类似。请参阅以下部分,详细了解“接下来观看”频道。

发布到 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 包含两个 extra:复制的节目 ID 和为“接下来观看”频道中的节目创建的节目 ID。