适用于 Android Studio 的 Google Home 插件

Google Home Plugin for Android Studio 专为 Google Home 平台开发者设计和创建。借助此插件,您可以访问 Google Assistant Simulator、Cloud Logging 和其他工具,从而简化智能家居开发流程。

适用于 Android Studio 的 Google Home 插件

安全通知

如需阻止 Android Studio 存储密钥和密码,请完成以下步骤:

  1. 点击文件,然后点击设置...
  2. Appearance & Behavior 中,展开 System Settings,然后点击 Passwords
  3. 选择不保存,重启后忘记密码
适用于 Android Studio 的 Google Home 插件

功能

Google 助理模拟器

如需测试您的智能家居设备是否能与 Google Home 生态系统正常协作,您可以随时与 Assistant Simulator 互动,而无需离开 Android Studio

借助 Assistant Simulator,您可以通过输入查询(例如“开灯”)轻松控制设备。在 Android Studio 中,Assistant Simulator 会根据您的命令回复短信,例如“好的,开灯。”

使用 Google 助理模拟器进行测试

查看 Cloud Logging

Google Cloud Logging 会提供调试信息和关键指标,让您深入了解 Action 的使用情况。为简化开发流程,Google Home Plugin 会在问题排查期间在代码旁边显示实时 Cloud Logging 消息。

您可以显示实时日志或选择日期范围。

Cloud Logging 视图

批量语句

Assistant Simulator对单个语音指令的响应不是确定性的。例如,响应可以是以下任一短语:

  • 知道了,正在打开这 2 盏灯。
  • 好的,正在打开 2 盏灯。
  • 知道了,正在打开这 2 盏灯。
  • 好的,正在打开这 2 盏灯。

如需运行自动化测试并验证 Google 集成与这些各种响应的运作方式,您可以通过运行语音指令脚本将批量语音指令发送到 Assistant Simulator。保存脚本后,您可以收集回答并针对查询运行多项测试。

Home Graph Viewer

借助 Home Graph Viewer,您可以显示设备的状态,并在浏览器中启动 Google Home 测试套件

Android 调试桥 (adb) 日志查看器

Adb Log Viewer 是一款用于查看和分析日志文件的工具,例如 Matter 设备日志文件、Google Home 日志和 Android 日志。

安装

如需在 Android Studio 中安装 Google Home Plugin,请按以下步骤操作:

  1. 下载或更新 Android Studio 下载 Android Studio
  2. 依次点击 File > Settings(在 MacOS 中,依次点击 Android Studio > Preferences)。
  3. Plugins 部分中,点击 Marketplace,然后搜索“google home”。
  4. 安装该工具,然后重启 Android Studio

您也可以直接从 JetBrains Marketplace 下载该插件。

设置

安装该插件后,您需要完成以下步骤,然后才能使用 Assistant Simulator 和查看 Cloud Logging:

使用 Google 账号登录

您可以通过 Google Home 面板登录开发者账号,授权 Android Studio 代表您与 Google 服务通信。

  1. 点击 Android Studio 窗口左侧垂直标签页列中的 Google Home 标签页。

  2. 登录方式中,点击 Google 以启动浏览器。

    Android Studio Google 登录
  3. 选择与您的智能家居设备关联的账号。

  4. 使用 Google 账号登录授权页面上,点击允许

  5. 关闭浏览器窗口,然后返回到 Android Studio

您现在应该已登录,并可以选择退出账号

选择 Cloud 项目

登录后,从下拉菜单中选择一个项目。如需过滤项目列表,请输入过滤表达式(例如 matter),然后按 Enter

项目下拉菜单会根据您的过滤条件加载前 100 个项目。退出 Android Studio 后,系统会保留您的选择。

选择项目

如需有关项目过滤条件的帮助,请参阅 Google Cloud 参考文档中的查询参数

使用 Google 助理模拟器

如需在 Android Studio 中打开 Assistant Simulator,请点击 Google Home Plugin 面板中的 Utterances Panel

打开“语音指令”面板

您可以通过多种方式向 Assistant Simulator 发送查询。接下来,我们将介绍每种方案。

输入查询并收集响应

如需与 Assistant Simulator 进行交互,请输入您的查询,然后按 Enter 键。

您可以点击查询末尾的 重新发送图标,重新发送查询。

提交一个或多个查询后,点击 Replay(重放)以重新运行查询并检查响应。utterances 面板会在存储的缓存中跟踪您的询问和回答。重放只会向此内部缓存添加新响应,不会在您每次点击该按钮时重复查询。

使用 Google 助理模拟器重放语音

点击 Save(保存),保存您在utterances(语句)面板中输入的询问和回答。您的互动会转换为以下格式的 JSON:

  • ask:您的查询。
  • answers:可能的 Assistant Simulator 响应的数组。

您可以在 Android Studio 中修改此 JSON 文件。

{
  "collected": false,
  "lines": [
    {
      "ask": "turn lights on",
      "answers": [
        "OK, turning 2 lights on.",
        "Sure, turning on 2 lights."
      ]
    }
  ]
}

收集批量回答

Google Home Plugin 面板中,点击语句文件,在新标签页中打开已保存的 JSON 文件。对于选择路径,您可以选择文件或文件夹。如果您选择一个文件夹,收集测试将针对该文件夹中的所有语音 .json 文件运行。

您可以为同一文件或不同的文件打开多个标签页,例如 lightslights(1)plug

状态栏会显示上次测试的结果(如果适用)、一个黄色或绿色圆点(用于指示是否已收集文件),以及语音指令 .json 文件路径。点击 Collect 后,Assistant Simulator 会运行您的查询。系统收集新回答时,您会收到通知,并且在处理查询时,状态栏会显示计数器。

使用 Google 助理模拟器收集语音内容

收集完成后,状态栏会更新,.json 路径前面会显示一个绿色对勾,并且您的语音文件会填充可能的回答。

使用 Google 助理模拟器收集语音内容
{
  "collected": true,
  "lines": [
    {
      "ask": "turn lights on",
      "answers": [
        "OK, turning 2 lights on.",
        "Sure, turning on 2 lights.",
        "Sure, turning 2 lights on.",
        "Got it, turning 2 lights on.",
        "Alright, turning on 2 lights.",
        "OK, turning on 2 lights.",
        "Got it, turning on 2 lights.",
        "Alright, turning 2 lights on."
      ]
    }
  ]
}

如果您提前停止收集,.json 路径将不会被标记为已收集。

测试批量语音指令

收集响应后,点击 Test(测试)即可重放查询并检查响应和日志。测试批量语音时,Assistant Simulator 会预期响应会保存到 JSON 文件中。如果您的测试返回的响应尚未收集,您会收到类似于以下响应的通知:

Expected one of: "Got it, turning on 2 lights."

使用 Google 助理模拟器运行语句

此情形表示测试未能成功。否则,Assistant Simulator 将运行您的每个查询并返回响应。如果测试成功,状态栏中会显示 对勾标记。

使用 Google 助理模拟器运行语句

查看 Cloud Logging

如需在 Cloud Logging 工具窗口中打开项目标签页,请点击 Google Home Plugin 面板中的 Cloud Logging。您可以为每个项目打开单独的 Cloud 日志标签页。

Cloud Logging 标签页

查询字词

对于所选项目,您还可以使用查询字段过滤日志。例如,如需过滤关键字为 light 的日志,请执行以下操作:

Cloud Logging 查询

选择 Use QL 以使用 Logging 查询语言

Cloud Logging 查询语言

下面列出了一些 QL 查询示例,可帮助您快速上手:

severity = (DEBUG OR INFO OR NOTICE OR WARNING OR ERROR OR CRITICAL OR ALERT OR EMERGENCY) AND resource.type="assistant_action_project" AND timestamp > "2022-04-07T00:40:18Z"
jsonPayload.executionLog.executionResults.actionResults.action.trait = "TRAIT_ON_OFF"
jsonPayload.executionLog.executionResults.actionResults.action.actionType = "ONOFF_ON"

日期和时间查询

按日期查询日志也是可选操作,您可以通过点击之后之前来启用此功能。您可以在提供的文本字段中输入日期和时间格式(例如 5/11/22, 12:37 PM),也可以使用日期选择器 选择日期,然后在文本字段中输入时间。

  • 如需选择 5/1/22 之后的日期,请选择之后,然后点击日期图标
  • 如需选择 5/1/22 之前的日期,请选择之前,然后点击日期图标
  • 如需选择 5/1/226/30/22 之间的日期,请依次选择之前之后,然后从日期图标 中选择日期。

选择实时以提取实时项目日志。点击停止可结束实时 Feed。

严重级别

您也可以从下拉菜单中选择最低严重程度

查询结果

点击 提取以提交查询参数。

日志加载完毕后,点击任何记录 以展开完整的 JSON 载荷。再次点击 即可显示完整消息。

(可选)您也可以在过滤框中输入关键字,以缩小日志结果范围。点击 x 可移除过滤条件,返回原始提取结果。

查看 Cloud Logging

查看 Home Graph 并运行测试

如需列出您的设备,请从 Google Home Plugin 面板中选择住宅图表

点击 Refresh(刷新),系统会显示与所选项目关联的设备的设备名称设备 ID设备类型。您可以为不同的项目打开多个 Google Home Graph 面板。

设备加载完毕后,点击任意记录 以展开完整的 JSON 载荷。

首页图表 JSON 载荷

您还可以使用展开收起来显示和隐藏设备的 JSON 载荷。

首页图表展开和收起 JSON

如需针对特定设备启动测试套件,请点击测试。这会在浏览器中启动测试套件,并选择您的设备,以便您进行测试。点击开始,然后等待测试结果。

Home Graph 运行测试

测试完成后,您可以查看测试详情和日志。

Home Graph 已完成的测试

Android 调试桥 (adb) 日志查看器

如需在 Adb Log 工具窗口中打开项目标签页,请点击 Google Home 插件工具栏(位于左侧)中的 Adb Log 命令。您可以为每个日志文件打开单独的 Adb Log 标签页。如要删除标签页,请点击 图标。

使用选择字段选择要查看的特定日志记录组件,并使用严重程度下拉菜单仅显示具有匹配日志严重程度的条目。

对于所选的 adb 日志,您可以使用 Filter 字段(可选添加区分大小写正则表达式修饰符)过滤日志条目。

此外,您可以:

  • 使用查找字段以及查找下一个 图标)和查找上一个 图标)命令查找特定条目。
  • 使用可选的区分大小写正则表达式修饰符。
  • 跳转到行,用于跳转到日志中的指定行(按编号)。

选择编号以查看添加了行号的日志行。选择原始可查看原始日志条目。

Adb Log Viewer

资源和反馈

点击资源可查看开发者工具和资源的列表。

如需提交有关如何改进 Google Home Plugin 开发体验的想法或反馈,请点击反馈

发送反馈