Google Assistant 是 Google 所开发的语音助手,能够对话、搜索、控制智能家居等等。在开发 Google Assistant 的过程中,我们需要用到 assistant-google 这个 npm 包。本文将介绍如何正确使用该 npm 包。
前置条件
- 必须要有一个 Google Cloud Platform (GCP) 的账号
- GCP 中创建的项目并且启用 Google Assistant API
- 拥有项目的 Service Account 模拟器
- 拥有项目的 OAuth 2.0 客户端 ID
安装
使用 npm 包的前提是我们需要在项目中使用 npm。安装 assistant-google 的命令如下:
npm install @assistant/conversation
初始化
我们需要使用 assistant 核心 (import {conversation} from '@assistant/conversation';)
来初始化 Google Assistant 的应用。初始化的代码如下:
await conversation({ clientId: '[CLIENT_ID]', clientSecret: '[CLIENT_SECRET]', debug: true, init: args => {}, fallback: true, });
初始化需要传入以下参数:
- clientId:OAuth 2.0 客户端 ID
- clientSecret:OAuth 2.0 客户端密钥
- debug:是否打印调试信息
- init:初始化的回调函数
- fallback:默认为 true。可以让应用在处理完问题后自动结束。
事件
assistant-google 包提供了很多事件,例如对话解析、AudioPlayer 状态、场景选择等等。开发人员可以根据自己的需求注册监听这些事件。下面是 assistant 能够识别的事件列表:
- actions_intent_DELIVERY_ADDRESS:请求用户的送货地址。如果您在应用程序中使用此 intent,则用户必须授权 Google 以便您查看和使用其送货地址。
- actions_intent_EXCLUSIVE_GATEWAY:多场景下分支传送。assistant 将创建一个分叉,然后根据 select 上的分支路径或下一个任务来指定后续流程的路径。
- actions_intent_MEDIA_STATUS:MediaPlayer 状态变化事件。
- actions_intent_NO_INPUT:如果用户提出提问并且 assistant 长时间未听到音频输入,之后将触发该事件。
- actions_intent_PERMISSION:访问某些资源需要用户授权的情况使用此 intent。例如,应用程序可能需要访问日历事件或用户的联系人,这就需要让用户授权。
- actions.intent.PLACE:请求用户的位置。如果您在应用程序中使用此 intent,则用户必须授权 Google 以便您查看和使用其位置信息。
- actions_intent_OPTION:让用户从指定的选项中选择一个选项。
例如,我们监听 actions_intent_OPTION 事件:
-- -------------------- ---- ------- ----------------------------------------- ---- -- - ----- ----- - ------------------- ----- ------ - ---------------------- -- ------- --- -------- - ------------------------ - ---- -- ------- --- --------- - ------------------------ - ---- - ------------------------ - ---
响应
assistant-google 所能够响应的种类有:
- SimpleResponse:发送文字信息
- BasicCard:发送图片、描述、按钮、链接等信息
- List:发送带有标题、图像和描述的项目列表
- Carousel:向用户提供带有标题、图像、描述和按钮的卡片
- Table:显示表格
- Permission:请求用户给予您访问某些权限
- Confirmation:显示确认提示
- DeepLink:向应用发送一个深度链接
这些响应类型可以自由组合,以满足您的需求。
例如,我们使用 SimpleResponse 发送文字信息:
assistant.handle('text', conv => { conv.add('欢迎使用 assistant-google npm 包,您想听什么?'); });
总结
在本文中,我们介绍了如何使用 assistant-google 这个 npm 包开发 Google Assistant 应用。我们通过初始化、事件和响应等多个方面详细讲解了该包的使用。希望这篇文章能够帮助您更好地开发 Google Assistant 语音应用,提供极佳用户体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a230d09270238223ce