PreviewChannel 和频道之间的区别?

Difference between PreviewChannel & Channel?

TV Provider 库中的 PreviewChannel & Channel 有什么区别?

A Channel 指的是在 Android TV starting in Android 8* 上启动的体验中的内容行。 PreviewChannel 特别是应用程序添加的一行以显示其自己的内容(可以是热门内容或最新内容或适合该应用程序的任何内容)。您可以将 PreviewChannel 视为 Channel 的一种类型,但从代码的角度来看它不是 subclass。还有其他频道类型,例如“接下来观看”频道(标记为“接下来播放”或“继续观看”,具体取决于启动器)。原始设备制造商也可以创建自己的渠道。通常 Channel 仅用于查询与预览频道无关的显式数据,例如网络隶属关系或频道是否可搜索。应用程序开发人员很少会使用 Channel class.

如果您想要创建一个频道来预览您的应用程序中的内容,那么您想要使用 PreviewChannel.Builder 来创建频道并使用 PreviewProgram.Builder 创建您想要的磁贴(程序)显示在其中。如果您只创建一个预览频道,Android TV 允许您在没有用户交互的情况下显示它,您可以使用 PreviewChannelHelper.publishDefaultChannel() 来显示它。

如果你想显示用户最近看过的内容(例如,用户看了一半电影或用户看完了第一集,你想显示第二集),那么你可以使用 Watch Next渠道。只有一个“接下来观看”频道,并且由系统拥有。您可以使用 WatchNextProgram.Builder 为此创建程序并使用 PreviewChannelHelper.publishWatchNextProgram().

发布它们

有关更新和删除等更详细的实现信息,您可以查看Reference App source code,它同时实现了预览频道和更新以供接下来观看。

*我添加了一个星号,因为这种体验会随着时间而改变。许多较新的设备都具有 Google 电视体验,但即使是一些没有电视体验的设备也正在更新到一种体验,其中包括启动器中单独部分的选项卡。这些体验会显着显示接下来要观看的内容,但通常不会显示预览频道。