先决条件
- 访问您的Fire TV应用的源代码。
- 支持此集成的Fire TV设备。请咨询您的亚马逊联系人,获取当前支持的设备类型列表。
- 必须在目录引入流程中加入您的应用,以便Fire TV识别内容ID。
- 您的应用必须完成内容启动器集成。
集成步骤
步骤1:在应用中包含程序包依赖项
在package.json文件中添加kepler-content-personalization和headless-task-manager,以及amzn/kepler-epg-provider。
kepler-content-personalization程序包会提供用于将内容个性化数据发送到系统的API。amzn/kepler-epg-provider程序包会提供用于PlaybackEvent数据模型中channelDescriptor的依赖项。headless-task-manager程序包提供用于在系统中注册数据拉取后台服务的API。
步骤2:更新您的清单文件
更新manifest.toml文件,添加对内容个性化的支持。以下是示例应用的示例:- React Native 0.72
- React Native 0.83
步骤3:进行示例API调用
在应用启动时生成的示例/模拟事件开始。要构建并发送事件,请使用以下代码:步骤4:验证集成
触发您构建的示例事件代码以在应用中运行。成功运行代码后,查看日志以验证SDK已链接到您的应用并且正在处理消息。 可以通过搜索应用日志来验证这些步骤:步骤5:将API调用作为应用内功能的一部分
对于每种数据类型,请查看数据类型的“何时发送”部分,以了解您需要在代码中的哪个位置调用Vega内容个性化。查找客户执行每项操作时运行的代码的相关部分,然后添加API调用。每种数据类型的触发器各不相同。 例如,当客户将项目添加到其Watchlist时,您必须通过相关信息调用reportNewCustomerListEntry。首先在您的应用中找到将项目添加到观看列表的代码,然后将API调用作为您逻辑中的组成部分来进行。
步骤6.实现面向后台或设备外数据的数据拉取服务
要允许亚马逊从您的应用拉取数据,请按如下所述实现该服务。该服务包含了设置和连接所需的一切,您只需实现向接收器对象发送数据的函数。此对象允许您根据需要以数据块的形式共享数据。这样可以防止将大型列表加载到内存中。-
在package.json所在的同一路径上创建一个包含以下内容的service.js文件。这样可以提醒系统注意您的
content.dataRefresh.provider服务入口点的相关信息。 -
在src/headless/HeadlessServiceInterface.ts下创建包含以下内容的无头服务接口文件:
-
在src/headless/HeadlessService.ts下创建包含以下内容的数据拉取服务:
更改您的目录集成(在您的亚马逊联系人指示如此操作时)
要使用活动数据,Fire TV需要从现有Fire TV目录集成中获取以下数据。我们会在未来更新Fire TV的公共目录集成文档,在其中加入这些元素,您可在此一览有关Vega内容个性化集成的所需内容。您的亚马逊联系人将告知您这些目录更改的开始时间。- 国际化 - 为了向其他国家/地区扩张,Fire TV将从按国家/地区划分的目录格式转变为Fire TV的全球目录格式。如果您将此目录纳入全球目录并将其作为一部分进行发布,则可以更轻松地进行过渡。不过,Fire TV仍然支持按国家/地区划分的目录。
亚马逊内容ID
Vega内容个性化支持跨不同命名空间的内容识别。必须通过关联的命名空间传递所有内容ID,以便亚马逊识别内容项目。亚马逊支持以下命名空间:亚马逊个人资料ID
所有数据类型都允许您共享关联的个人资料ID。由于个人资料类型不同,请指定命名空间。亚马逊目前支持以下个人资料ID命名空间:报告更新
该SDK包含通过三类操作共享信息的功能:New(示例:reportNewCustomerListEntry)- 表示在数据集中添加新条目的增量更新。Removed(示例:reportRemovedCustomerListEntry)- 表示从数据集中删除条目的减量更新。Refreshed(示例:reportRefreshedCustomerList)- 表示由于设备外操作,数据集发生了变化,必须使用数据拉取服务来获取经过更新的新版列表。
New和Removed非常有用。在由于客户登录、设备外活动导致列表发生重大变化,或者您怀疑列表由于其他原因而没有同步的情况下,Refreshed更新非常有用。

