开发人员控制台

Fire TV上的电视输入框架


Fire TV上的电视输入框架
您的输入? 此内容最近已更新,我们想知道内容是否满足您的需求。请花一分钟在此提供反馈→小调查

线性电视集成基于用于开发电视输入服务的Android文档。以下链接和其他说明将帮助您了解Fire TV的专门技术要求。

背景知识和术语

以下外部链接有助于您深入了解Fire TV电视直播。在进行集成之前,请查看此文档:

线性电视集成基于以下Android文档: 开发电视输入服务

集成要求

要集成连续的直播频道,您必须提供对客户的频道授权以及相关元数据的访问权限,以便在Fire TV上提供内容转发浏览和搜索体验。

直播频道授权

应对您的应用进行更新,以便将授权频道推送到设备上由电视输入框架(TIF)提供的本地频道数据库中。您可以随时添加、更新或删除频道,即使您的应用在后台运行也可如此。请为您的应用注册广播接收器INITIALIZE_PROGRAMS操作,以确保在最初安装您的应用时更新授权元数据。

要编辑频道,请参阅使用频道数据

频道若出现在此数据库中,意味着客户可以观看这些频道。对于在任何直播体验中客户能观看的所有频道,设备上的电视直播应用将使用此数据库进行授权。可以随时在此数据库中添加或删除频道,并且更改将立即反映在UI中。

应尽可能完整地填写TvContract.Channels中的频道列。如果您知道您的Gracenote频道ID或希望为播放提供深层链接,您可以在Channels#COLUMN_INTERNAL_PROVIDER_DATA中共享该信息,如下面的代码段所述。

获取节目元数据

如果您能够提供Gracenote频道ID(位于电视或全球视频数据(GVD)上),这些信息将由电视直播应用同步到云端,并用于在包含长达14天节目信息的Fire TV目录中查找相应的频道。如果我们的云中有该Gracenote ID,该频道的相关节目信息将显示在“主页”和“直播”选项卡以及频道指南中,无需任何进一步的集成,并会自动刷新。搜索和Alexa功能也可以开箱即用。

没有Gracenote ID?

如果您无法提供您频道的Gracenote频道ID,则需要插入包含标志的所有频道元数据,并尽可能定期将所有频道的新节目信息插入到TvContract.Programs电视直播示例应用提供了如何实现这一操作的示例。

频道深层链接

电视直播内容的播放通常由设备上的本机电视直播应用通过与TvinputService.Session进行交互来处理。如果您希望使用自己的应用进行全屏播放,则需要在插入到频道数据库的频道信息中提供深层链接意图。下面提供了一个代码示例以供参考。当在任何浏览或搜索体验中选择频道时,将会启动此意图。预期此意图会跳转到您的应用并启动所请求频道的全屏播放。

即使提供了深层链接意图,仍然需要实现TvInputService.Session。当调用onTune时(当客户关注浏览行中的一个磁贴时会调用),强烈建议将所请求频道的播放转到提供的安全Surface上,因为这是一个关键的参与驱动程序。onTune请求也可用于捕获指标,或作为开始加载直播内容以提高性能的提示。

家长监护

如果您的应用将内容呈现到用于TvInputService的Surface上,则正确实施家长监护至关重要。这样可以确保在启用家长监护时,必须先输入PIN,然后才会为最终用户显示内容。您的TvInputService有责任在请求应该被阻止的内容时通知前台应用。请参阅代码示例部分了解建议的流程。

提供方属性

默认情况下,您的应用的标签将用作包含您的频道的浏览体验中的标题。如果您想用其他名称但由于某种原因无法更改标签,请与亚马逊开发者合作,以已确保此信息被覆盖。您还需要提供一个单色标志,以覆盖在您的程序艺术设计之上。标志应为34像素高,水平方向上的宽度可为合理的任意值。

没有Gracenote ID?

如果您的频道没有Gracenote ID,则当您将COLUMN_POSTER_ART_URI填充到TvContract.Programs时,您需要将单色标志刻录到图像中。单色标志必须放置在右上角坐标的(-56, 44)位置。