开发者控制台

仅限应用的集成概述

仅限应用的集成概述

借助VSK的仅限应用的实现,Alexa Video Skill API在Fire TV设备上直接向您的应用发送指令。Fire TV有一个名为 “VSK Agent” 的服务,该服务接收Alexa指令并将其作为意图广播,然后您的应用通过BroadcastReceiver处理这些指令。整个VSK集成都直接在您的Android代码中完成。

组件

仅限应用的集成涉及以下组件:

  • VSK Agent - Fire TV上的Fire OS内置的一项服务,可接收Alexa指令并将其作为意图广播至Fire TV上的应用。(支持所有Fire OS版本。)
  • Fire TV。您运行应用的设备。您的Fire TV遥控器上要有一个麦克风按钮才能发出语音请求。推荐使用的Fire TV设备是Fire TV Stick 4K,但是可以使用大多数Fire TV设备。

  • VSK Agent Client Library - 如果您的应用的语音功能根据用户的登录状态发生变化,则使用AAR库(称为“动态功能集成”)。VSK Agent Client Library实现了Android接口定义语言API (AIDL),用于连接到Fire OS上的VSK Agent。
  • VSKApplicationAgentAPI - 如果不想集成VSK Agent Client Library,而是想要自己编写VSK Agent Client Library中包含的代码以与VSK Agent通信,则可选择使用。VSKApplicationAgentAPI包含必要的.aidl文件和Java类,是与Fire TV上的VSK Agent通信所必需的。
  • 云端的Alexa - 一项Alexa服务,该服务接收客户的请求(表述),执行自然语言处理以解析请求并确定意图,然后将其封装成可由Video Skill API处理的指令(JSON-block)。
  • Alexa Video Skill API - 一项将指令从云端的Alexa发送到Fire TV VSK Agent的服务,然后由后者将指令作为意图进行广播。不同的接口处理不同类型的指令。您可以在此处浏览更多细节: API参考概述
  • 您的Android应用 - 一款可以向用户显示流媒体内容的原生Android应用。如果您还没有应用,则可以使用示例应用作为起点(否则,请在编写自己的代码时将其用作参考)。
  • BroadcastReceiver类 - 您应用中的类,在该类中可以接受和处理Alexa通过Fire TV上的VSK Agent向应用发送的指令。
  • DynamicCapabilityReporter类 - 您应用中根据用户状态报告功能的类。作为VSK Agent Client Library初始化的一部分,该类创建VSK Agent客户端的实例。

大体工作流程

应用集成的大体工作流程如下:

  1. 一位客户向Alexa提出了请求。云端的Alexa将请求解释为一种特定类型的表述,并将信息封装成指令。
  2. Alexa通过Video Skill API将指令路由到Fire TV设备。Video Skill API中不同的接口处理不同类型的指令。主要接口是RemoteVideoPlayer,它发送两个类型的指令: SearchAndPlay指令和SearchAndDisplayResults指令。SearchAndPlay指令是 “watch/play …”(观看/播放 …)请求,而SearchAndDisplayResults指令是“search/find …”(搜索/查找...)请求。(尽管Video Skill API有更多接口,但只建议将RemoteVideoPlayer用于Fire TV合作伙伴。)
  3. 在Fire TV上,一项名为VSK Agent的服务接收Alexa指令,并将其作为Android意图进行广播。意图是一个信息包,指明需要执行的操作或动作。
  4. 您应用的清单包含一个意图筛选条件和一个BroadcastReceiver。意图筛选条件(在您的应用清单中声明)指定您的应用正在监听来自VSK Agent的意图(它会将意图筛选为这些类型)。BroadcastReceiver会指定可以处理意图的特定接收器。当VSK Agent广播包含Alexa指令的意图时,您的应用会处理该意图。
  5. BroadcastReceiver中的逻辑会读取指令并进行相应的处理(例如获取客户请求的视频)。您负责编写处理请求的逻辑。
  6. 您的BroadcastReceiver向VSK Agent发送了一条消息(PendingIntent),让它知道您的应用成功处理了该指令。响应状态是一个布尔值,指明是否成功处理该指令。

集成步骤

执行仅限应用的集成时,相关过程涉及以下步骤:

视频教程

本视频教程概述了如何使用仅限应用的集成方法将VSK集成到Fire TV应用中。

示例应用

为了演示集成,随附了一个示例Fire TV应用,其中包含一些用于解析消息和播放匹配的目录标题的基本逻辑。您无需在实现步骤中使用此示例应用 - 您可以使用自己的应用执行相同的步骤。但是,示例应用将更清楚地阐明集成,为您提供可以查阅的参考,以查看有关实现说明的更多环境和详细信息。

如果您只是出于了解VSK的工作原理而设置示例应用,则可以跳过步骤5、6、7和8中的编码任务,因为示例应用已经集成了此代码。但是,示例应用的目的之一是提供一个集成说明的实际运用示例,因此,即使您可以跳过这些步骤,也应浏览示例应用中的代码,以此作为开发自己的应用代码的参考。

使用示例应用时,请留意这样的标注:

示例应用注意事项

集成说明中这样的标注将指明与示例应用相关的每个步骤所需的内容。

预计开发时间

云端集成相比,仅限应用的集成所需的开发时间要少得多,这是因为组件较少,而且所有开发都是在您的Android项目中进行。如果您已经完成了目录集成,并且您的应用已经具有处理搜索和其他查找的文本输入的逻辑,则仅限VSK应用的集成可以在短时间(几周或更短时间)内完成。

如果您只是在探索示例应用(跳过自己应用中的任何编码),则可以在几个小时或更短的时间内使此示例应用正常运行。

后续步骤

要开始使用,请转到步骤1: 集成您的目录


Last updated: 2021年3月5日