Google 助理支持通过语音控制 Android 应用。使用 Google 助理,用户可以通过说出“Hey Google, start a run on Example App”(Hey Google,开始运行 Example App)等语音指令来启动应用、执行任务、访问内容等。
作为 Android 开发人员,您可以使用 Google 助理的开发框架和测试工具轻松地在 Android 支持的平台(例如移动设备、汽车和可穿戴设备)上对应用进行深度语音控制。
与应用有关的 Action
Google 助理中与应用有关的 Action 让用户可以通过语音启动和控制 Android 应用。
与应用有关的 Action 可实现更深入的语音控制,使用户能够启动您的应用并执行以下任务:
- 通过 Google 助理启动相应功能:将应用的 capability 与符合预定义语义模式或内置 intent 的用户查询相关联。
- 在 Google 界面上显示应用信息:提供 Android widget 以供 Google 助理显示,从而为用户提供内嵌解答、简单确认和简短互动,而不更改上下文。
- 通过 Google 助理建议语音快捷指令:使用 Google 助理在适当的上下文中主动推荐让用户发现或再次执行的任务。
与应用有关的 Action 使用内置 intent (BII) 来支持涵盖各种热门任务类型的这些以及其他数十种应用场景。如需详细了解应用中支持的 BII,请参阅本页上的与应用有关的 Action 概览。
多设备开发
使用与应用有关的 Action,您还可以在除移动设备以外的其他设备上提供语音控制功能。例如,通过专为汽车使用场景优化的 BII,驾驶员可以使用语音指令来执行以下任务:
与应用有关的 Action 概览
您可以使用与应用有关的 Action,让用户能够使用语音在您的应用中执行特定任务,为用户提供更深入的应用语音控制。如果用户已安装您的应用,可以简单地使用包含您应用名称的短语(例如“Hey Google, order a pizza on Example App”[Hey Google,在 Example App 上订一份披萨])来说明其意图。与应用有关的 Action 支持各种 BII,这些 BII 会对用户用来表达想要完成的任务或寻找的信息的常用方式进行建模,例如:
- 订餐、约车,以及执行其他类别的特定操作。
- 打开应用的某项功能。
- 使用应用内搜索功能查询产品或内容。
借助与应用有关的 Action,Google 助理可以根据用户所处的环境,主动以快捷方式的形式向用户推荐您的语音 capability。此功能可让用户轻松发现和再次执行与应用有关的 Action。此外,您还可以利用与应用有关的 Action 的应用内宣传 SDK,在应用中推荐这些快捷方式。
您可以在 shortcuts.xml
中声明 <capability>
标记,启用对与应用有关的 Action 的支持。这类 capability 可以告知 Google 如何使用 BII 从语义上访问应用内功能,并为相关功能提供语音支持。Google 助理会启动您的应用来显示指定内容或执行指定操作,从而实现用户意图。对于某些用例,您可以指定要在 Google 助理中显示的 Android widget,以执行用户查询。
Android 5(API 级别 21)及更高版本支持与应用有关的 Action。用户只能在 Android 手机上使用与应用有关的 Action。Android Go 设备上的 Google 助理不支持与应用有关的 Action。
与应用有关的 Action 的运作方式
与应用有关的 Action 会将应用内功能扩展到 Google 助理,让用户能够通过语音使用应用的功能。当用户调用与应用有关的 Action 时,Google 助理会将查询与 shortcuts.xml
资源中声明的 BII 进行匹配,并在请求的屏幕上启动您的应用或显示 Android widget。
您可以使用 Android capability 元素在应用中声明 BII。当您使用 Google Play 管理中心上传应用时,Google 会注册您在应用中声明的 capability,并让用户可通过 Google 助理访问这些 capability。
例如,假设您在应用中提供了一个订餐 capability。当用户说出“Hey Google, order a pizza from Example App”(Hey Google,在 Example App 上订购一份披萨)后,以下步骤会随之执行:
- Google 助理对查询执行自然语言分析,将请求的语义与 BII 的预定义模式进行匹配。在这种情况下,
actions.intent.ORDER_MENU_ITEM
BII 与查询匹配。 - Google 助理检查以前是否为您的应用注册了该 BII,并使用相关配置来确定启动方式。
- Google 助理使用您在
<capability>
中提供的信息生成 Android intent,以启动请求的应用内目标页面。Google 助理会提取查询参数,并在生成的 Android intent 中以 extra 的形式传递这些参数。 - Google 助理通过启动生成的 Android intent 来满足用户请求。您可以将
intent
配置为启动应用中的某个屏幕,或在 Google 助理中显示某个 widget。
![当用户向 Google 助理提出查询后,Google 助理会通过启动应用目标页面来响应用户。](https://developer.android.google.cn/static/guide/app-actions/images/assistant-flow.png?authuser=9&hl=fi)
在用户完成任务后,您可以使用 Google 快捷方式集成库将对应操作的动态快捷方式及其参数推送到 Google,以便 Google 助理在上下文相关的时候向用户推荐该快捷方式。
使用此库可让快捷方式在 Google 产品界面(例如 Google 助理)上被发现和再次执行。例如,您可以在自己的拼车应用中针对用户请求的每个目的地向 Google 推送一个快捷方式,以便之后可作为快捷方式建议快速再次执行。
构建与应用有关的 Action
与应用有关的 Action 基于 Android 应用中的现有功能构建。其过程与您实现的每项应用操作类似。与应用有关的 Action 会使用您在 shortcuts.xml
中指定的 capability
元素直接将用户引导至应用中的特定内容或功能。
构建与应用有关的 Action 时,第一步是确定您想让用户通过 Google 助理访问的 activity。然后,根据该信息,从与应用有关的 Action BII 参考文档中找到最匹配的 BII。
对于用户表达自己想使用应用来完成的任务或所寻求的信息,BII 建模了一些常见方式。例如,BII 可用于执行各种操作(例如订餐、约车和查看账号余额)。BII 是着手使用与应用有关的 Action 的最佳方式,因为 BII 会为多种语言的常见用户查询变体建模,以便您能轻松快速地为应用实现语音功能。
确定要实现的应用内功能和 BII 后,您需要在自己的 Android 应用中添加或更新用于将 BII 映射到应用功能的 shortcuts.xml
资源文件。shortcuts.xml
中定义为 capability
元素的与应用有关的 Action 说明了每个 BII 如何解析其执行方式,以及提取并向应用传递的参数。
开发与应用有关的 Action 的一个重要环节就是将 BII 参数映射到定义的执行方式。此过程通常会考虑将应用内功能的预期输入映射到 BII 的语义参数。
测试与应用有关的 Action
在开发和测试期间,请使用适用于 Android Studio 的 Google 助理插件为 Google 账号中的 Google 助理创建与应用有关的 Action 的预览。此插件可协助您在提交与应用有关的 Action 以供部署之前,先测试其处理各种参数的方式。在测试工具中生成与应用有关的 Action 的预览后,您可以直接通过测试工具窗口在测试设备上触发与应用有关的 Action。
媒体应用
Google 助理还提供内置 capability 来理解媒体应用命令,例如“Hey Google, play something by Beyonce”(Hey Google,播放碧昂丝的音乐),并支持暂停、跳过、快进和赞等媒体控制操作。
后续步骤
按照与应用有关的 Action 开发者在线课程中的说明,使用我们的示例 Android 应用构建与应用有关的 Action。之后,您可以继续参阅我们的指南,了解如何为自己的应用构建与应用有关的 Action。您还可以探索下面这些有关构建与应用有关的 Action 的其他资源:
- 下载并探索我们在 GitHub 上提供的 Android 健身应用示例。
- r/GoogleAssistantDev:从事 Google 助理相关工作的开发者的官方 Reddit 社区。
- 如果您有关于与应用有关的 Action 的编程问题,可以在 Stack Overflow 上发帖咨询(使用“android”和“app-actions”标签)。在发帖之前,请确保您的问题切题,并务必阅读相关指南,了解如何提出好问题。
- 在我们的公开问题跟踪器中报告与应用有关的 Action 功能存在的 bug 和常规问题。