as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
要将Vega内容个性化集成到您的Fire TV应用中,您需要了解以下事项。如果您想查看用于此集成的某些数据类型,请参阅数据类型参考。 如果数据无法访问或需要转换,则此集成可能需要更长时间。参考以下文档,确认系统是否以请求格式存储您的数据。

先决条件

  • 访问您的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文件,添加对内容个性化的支持。以下是示例应用的示例:
以下是定义多个接口的正确方法示例。
这是定义接口的“错误”方法。请不要这样做。

步骤3:进行示例API调用

在应用启动时生成的示例/模拟事件开始。要构建并发送事件,请使用以下代码:

步骤4:验证集成

触发您构建的示例事件代码以在应用中运行。成功运行代码后,查看日志以验证SDK已链接到您的应用并且正在处理消息。 可以通过搜索应用日志来验证这些步骤:
收到的有关步骤3中所示事件的日志消息至少应包含以下日志之一:

步骤5:将API调用作为应用内功能的一部分

对于每种数据类型,请查看数据类型的“何时发送”部分,以了解您需要在代码中的哪个位置调用Vega内容个性化。查找客户执行每项操作时运行的代码的相关部分,然后添加API调用。每种数据类型的触发器各不相同。 例如,当客户将项目添加到其Watchlist时,您必须通过相关信息调用reportNewCustomerListEntry。首先在您的应用中找到将项目添加到观看列表的代码,然后将API调用作为您逻辑中的组成部分来进行。

步骤6.实现面向后台或设备外数据的数据拉取服务

要允许亚马逊从您的应用拉取数据,请按如下所述实现该服务。该服务包含了设置和连接所需的一切,您只需实现向接收器对象发送数据的函数。此对象允许您根据需要以数据块的形式共享数据。这样可以防止将大型列表加载到内存中。
  1. 在package.json所在的同一路径上创建一个包含以下内容的service.js文件。这样可以提醒系统注意您的content.dataRefresh.provider服务入口点的相关信息。
  2. 在src/headless/HeadlessServiceInterface.ts下创建包含以下内容的无头服务接口文件:
  3. 在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更新非常有用。

提供大型数据集

通过数据拉取服务提供大量数据时,从云后端拉取较小页面中的数据,并在拉取数据时调用提供方API。这样可以限制服务的内存使用量,并防止您的应用被系统终止。

最后修改于 2026年10月26日