Fire TV上的电视输入框架
线性电视集成基于用于开发电视输入服务的Android文档。以下链接和说明会帮助您了解Fire TV的专门技术要求。
背景知识和术语
在Fire TV上开始使用直播TV之前,请查看以下文档以获取背景知识。
线性电视集成基于以下Android文档: 开发电视输入服务。
集成详细信息
要集成直播频道,您必须提供对客户频道权利的访问权限以及所需的元数据。
直播频道授权
您必须对应用进行更新,才能仅将授权频道推送到设备上的本地频道数据库(由电视输入框架 (TIF) 提供)中。可以通过使用INITIALIZE_PROGRAMS
操作注册广播接收器来更新、添加或删除频道。确保在首次安装应用时更新此权利元数据。即使您的应用处于后台,您也可以进行此更新。有关注册广播接收器以处理INITIALIZE_PROGRAMS
操作的示例,请参阅注册BroadcastReceiver以侦听INITIALIZE_PROGRAMS操作。
要编辑频道,请参阅使用频道数据。
如果此数据库中有频道,则客户可以查看这些频道。您可以随时在此数据库中添加或删除频道。这些更改会立即反映在用户界面中,这是因为在任何实时体验中向客户展示的所有频道都以该数据库为依据。
尽可能完整填写TvContract.Channels
中的频道列。如果您知道自己的Gracenote频道ID或希望提供深层链接进行播放,可以将这些信息添加到Channels#COLUMN_INTERNAL_PROVIDER_DATA
中,如代码示例部分所述。
获取节目编排元数据
有两种方法可以向直播TV提供元数据。
- 使用亚马逊目录数据格式 (CDF) 电视台ID(首选)
- 使用Gracenote频道ID
提供CDF电视台ID(首选)
如果您提供了CDF电视台ID,则该信息通过直播TV应用每天同步到云端。如果找到CDF电视台ID,则该ID用于在Fire TV目录中查找频道,该目录包含最多14天的节目信息。此信息显示在Home(主页)和Live(直播)选项卡以及Channel Guide(频道指南)中。它会自动刷新以保持最新状态,并可通过Search(搜索)和Alexa发现。
提供Gracenote ID
如果提供Gracenote频道ID(onTV
或GVD),信息通过直播TV应用每天同步到云端。如果找到了Gracenote ID,该ID将用于在Fire TV目录中查找频道,该目录包含最多14天的节目信息。此信息显示在Home(主页)和Live(直播)选项卡以及Channel Guide(频道指南)中。它会自动刷新以保持最新状态,并可通过Search和Alexa发现。
频道排序
频道排序决定Fire TV设备用户界面显示的频道排行。基准顺序由提供方决定。但是,客户可以通过上下文菜单或频道管理器收藏频道。这些频道的显示优先级最高。因此,优先级为:收藏夹 > 频道排序选项。Fire TV提供了以下两种具有不同开发工作级别的选项:
-
显示名称排序: 这是最常见的排序,因为它不需要任何开发时间。使用这种排序,Fire TV用户界面中的频道根据
displayName
采用Unicode显示。例如,频道列表 {“XYZ”、“1BC”和“1 BK”} 将按 {“1 BK”、“1BC”、“XYZ”} 排序。 -
自定义频道排序: 使用这种排序,提供方频道按照与tv.db中的“_id”一致的顺序显示,“_id”按插入顺序分配。在tv.db中更新这些频道时,必须保持该频道排序,因为直播TV应用将在Fire TV用户界面中采用相同的顺序。
为保证一致的体验,Fire TV建议您选择与应用内频道排序相似度最高的频道排序。在加入进程中,您需要与您的亚马逊代表合作选择频道排序方法。
全屏播放
Fire TV允许用户使用自己的应用进行全屏播放。为此,需要在频道数据库中提供深层链接意图,将其作为频道信息的一部分。当用户在浏览或搜索期间选择频道时,此意图将启动。每当意图激活时,所请求频道的全屏播放就会开始。有关参考,请参阅代码示例。
启动画面指南
- 用户聚焦在图块上后,启动画面最多只能耗费3秒钟时间。
- 在加载启动画面后2秒钟内,应开始播放聚焦内容的视频预览。
- 如果您的应用支持频道预览(推荐),并且用户在其Fire TV设置中启用了家长监护,则频道预览将被禁用(不播放迷你详情),并恢复到Gracenote已包含的图像覆盖范围。亚马逊不会根据在Fire TV或您的应用中设置的内容评级或首选项设置来阻止频道预览。此规则适用于所有合作伙伴和直播源。
家长监护
根据产品要求,如果用户启用了家长监护 (PCON),则不应播放预览视频。
如果您的应用将内容呈现到提供给TvInputService
对象的表面上(例如,直播预览或无频道深层链接),则必须正确实现家长监护。这样可以确保在启用家长监护时,在未事先要求用户输入PIN的情况下不会向其显示内容。每当用户请求应阻止的内容时,您的TvInputService
都需要负责通知前台应用。有关建议的流程,请参阅执行家长监护。
提供方属性
请务必自定义以下3个项目。
1. 标签
默认情况下,当用户浏览您的频道时,您的应用的label
属性将用作标题。标签长度不应超过12个全角字符或24个字母数字字符。如果您想用其他名称但无法更改标签,请与您的亚马逊联系人合作,以确保此信息被覆盖。
2. 标志
请务必提供一个代表应用品牌的单色标志(白色图像、透明背景)。该标志会叠加在节目图像之上。此图像文件高度不得超过34个像素,横向宽度不得超过叠加图像的25%。
请联系您的亚马逊代表了解详情。
3. 横幅
可以通过程序包管理器提供应用横幅。有关示例,请参阅代码示例。
认证核对清单
亚马逊使用以下核对清单将您的应用认证为集成直播TV。您的应用的实现会直接影响预期的行为。亚马逊会根据具体情况处理认证的例外情况。
授权状态更改
- 客户执行以下操作之一后,其授权频道会填充到Fire TV用户界面(例如,On Now [当前热映] 行,或者Channel Guide):
- 打开并登录应用
- 前往Settings(设置)> Live TV(直播TV)> Sync Sources(同步源)> App Name(应用名称),访问应用的设置页面
您必须同时处理以下两种情况。
- 如果客户的会员资格到期并更改为unentitled(未授权)状态,则这些频道将继续作为Fire TV用户界面的一部分,直到客户选择频道、查看付费优惠并退出或拒绝该优惠。
- 当用户卸载应用或用户无权使用频道时,将从Fire TV用户界面中移除这些频道。
最大推出速度
以最大500K/小时的速度向客户分阶段部署频道。
此值是指拥有频道权利的客户Fire TV设备的数量。频道权利意味着从Fire TV线性集成UX点击一次即可全屏播放。
示例
- 应用ABC提供视频点播,但将直播TV作为付费附加程序。费率仅针对拥有电视直播附加程序的ABC客户。
- 应用XYZ提供了一种免费的基础频道套餐和另一种包含更多频道的付费套餐。如果更新了付费套餐的频道时间表,则此费率针对的是使用该付费套餐的客户。
浏览和播放体验
- 当客户聚焦于某个频道时,提供丰富的元数据体验。在线性电视指南中,频道包括频道标志、频道号(可选)和未来14天的节目安排信息。节目元数据包括节目名称、播放时间、剧集名称、剧集描述(时长)、季节和剧集信息、隐藏式字幕、评级节目图像 (16:9) 和背景图像 (16:9)。这些元数据信息应来自亚马逊目录匹配(CDF或Gracenote)或作为电视合约的一部分推送的元数据。
- 当客户聚焦于On Now行中的某个频道时,可以看到直播频道预览取代了背景图像。
- 客户应该了解谁在提供此授权频道。这包括添加提供方属性作为背景图像的一部分(单色,高34像素)或作为直播频道预览播放之前的启动画面。
- 选择频道后,客户将进入全屏播放。“返回”按钮使用户只需按下按钮两次或更少次数即可返回到Fire TV用户界面。
- 如果启用了家长监护 (PCON),则播放前会显示PIN提示。如果启用了PCON,则必须禁用直播频道预览。
- 如果用户访问Alexa,则降低直播播放的音频音量。视频播放应继续。
- (建议)可将某个频道归类,以便该频道能显示在Fire TV用户界面上的其他入口点中。
开发、模拟和部署
- 亚马逊必须能够将特定账户列入允许名单,以便在投入生产之前检查和验证集成体验。
- 只有授权频道才会在双方同意推出的市场中添加到Fire TV用户界面上。新市场中的后续频道推出将有新的认证审查,并需要列入允许名单。
- 亚马逊必须知晓您在推出后添加和删除的任何频道。双方必须就可添加频道的数量上限达成一致。
- (建议)应用的下载页面和发行说明应提及直播TV集成,以便客户了解Fire TV上新功能的可用性。
进行更新
对于所有应用更新,请在进行更新之前再次检查认证核对清单中的项目。
对于所有频道阵容更新,请再次检查认证核对清单中的项目,并执行以下操作:
- 至少在推出前2周将您的推出时间线告知您的亚马逊代表。
- 如果您要对时间表增加或减去10%或更多的内容,需要获得亚马逊代表的明确批准。
相关主题
Last updated: 2025年5月5日