Google Home Sample App for Matter 使用 Google Home Mobile SDK 创建类似于 Google Home app (GHA) 的 Android 应用。此示例应用提供了以下功能:
- 将实体和虚拟 Matter 设备委托给本地 Android 结构
- 将实体设备和虚拟设备调试到开发结构
- 控制开发环境中的设备,例如开灯
- 借助多管理员功能,您可以与其他应用共享开发环境中的设备,反之,您也可以将从其他应用共享的设备添加到开发环境中
- 开发者实用程序
本指南介绍了如何安装 Sample App for Matter APK,以及如何使用该 APK 来配置、控制和共享 Matter 设备。
如需下载源代码、了解如何集成 Mobile SDK 以及如何在 Android Studio 中自定义界面,请尝试我们的 Sample App for Matter Codelab。
前往 Sample App for Matter Codelab
前提条件
- 一台搭载 Android O (8.1、API 级别 27) 或更高版本的设备,用于进行测试。如需确保您的设备具有最新的 Matter 支持,请参阅验证 Matter 模块和服务指南。
- 构建具有开启/关闭功能的 Matter 设备。此示例应用适用于虚拟设备和 ESP32。
- Matter 虚拟设备 (MVD)。 为尽量减少环境问题,我们强烈建议您先使用 MVD。如果您遇到问题,则可以更轻松地调查是否针对 MVD 使用了示例应用。
- 使用
rootnode_dimmablelight_bCwGYSDpoe
应用构建 Matter 虚拟设备。在 Google Home Developer Console 中创建 Matter 集成时,请使用0xFFF1
作为供应商 ID,并使用0x8000
作为产品 ID。 - 使用
all-clusters-app
构建 Espressif 设备。在 Developer Console 中创建 Matter 集成时,请使用0xFFF1
作为供应商 ID,0x8001
作为商品 ID。
您无需使用 hub(例如 Google Nest Hub (2nd gen)),即可使用 Sample App for Matter 配置和控制设备。
安装
前往 Sample App for Matter GitHub 代码库中的“版本”部分。对于最新版本,请在“资源”部分中找到名为
GHSAFM-version-default-debug.apk
的 APK。请勿选择targetcommissioner
。安装 Android 调试桥 (adb):
使用 USB 连接 Android 设备并启用文件传输,然后安装 APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
调试设备
首次启动示例应用时,您会看到一个对话框,其中包含指向 Sample App for Matter Codelab 的链接。如果您选择不再显示此消息,则可以随时在应用的“管理”部分更新偏好设置,让系统重新显示该对话框。
在后续步骤中,您将向本地 Android Fabric 添加 Matter 设备,以及仅适用于示例应用的本地开发 Fabric。
什么是 Matter 框架?
Matter 网络是家庭网络中多个设备之间的共享信任域,让这些设备能够相互通信。
设备可以有一个或多个与平台、应用或一组相互交互的设备对应的 fabric。Fabric 具有唯一 ID,并且设备共用一组凭据和证书授权机构 (CA)。这些凭据会在 Matter 调试期间分配。
如需委托 Matter 设备,请完成以下步骤:
点按
“添加设备”按钮以开始配置流程。接下来,控制权会转移到 Google Play services,该进程是通过对 Mobile SDK 的调用启动的。如需提供所有权证明,请扫描二维码或点按使用配对码。
配置完成后,输入设备名称,然后点按完成。
您的设备现已连接到本地 Android Fabric 和开发 Fabric。
在设备调试期间,所有调试工作和关联的界面均由 Play services 处理。这可提供一致的用户体验,并无需处理敏感权限(例如 Wi-Fi 和 Thread 凭据)。
控制设备
开发环境 fabric 会直接从示例应用创建用于控制 Matter 设备的凭据。
在主屏幕上,您可以将设备切换为开启或关闭状态。点按设备可查看设备详细信息。
共享设备
在 Matter 规范中,共享设备被称为多管理员流程。将设备委托给示例应用后,您可以轻松与其他生态系统共享该设备。
如需与其他生态系统共享 Matter 设备,您需要在 Android 设备上安装其他平台。此外部平台将成为目标委托人。我们创建了另一个示例应用实例,您可以将其用作目标委托方。
前往 Sample App for Matter GitHub 代码库中的“版本”部分。对于最新版本,请在“资源”部分中找到名为
GHSAFM-version-targetcommissioner-debug.apk
的 APK。请勿选择default
。安装目标委托人。
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
在主屏幕上,点按相应设备以显示设备信息。点按分享。
示例应用调用 Mobile SDK Share API,控制权再次转移到 Play services。
系统随即会显示一个分享表单,您可以在此表单中选择要将设备与哪个应用或平台配对。此屏幕提供了两种共享设备的方式:
- 手动通过要与目标调试器应用共享的设置代码
- 使用已注册为 Matter 管理员的本地 Android 应用
目标调试器应用标记为 GHSAFM-TC。点按此示例应用的实例即可分享您的设备。
接下来,外部应用(目标委托方)会完成将设备委托到自己的 Fabric 的委托。
设置
在主屏幕上,点击“设置”图标
。您可以在此处更新用户偏好设置、获取帮助,以及详细了解该应用。半屏通知
在“设置”屏幕中,您可以选择为 Matter 设备停用可带来佣金的主动发现通知。
如果您的应用提供自己的 Matter 发现或委托流程,您可能需要抑制这些通知以防止中断。如需了解详情,请参阅抑制可赚取佣金的发现通知。
开发者实用程序
您还可以在“设置”屏幕中访问开发者实用程序。
如需在 Logcat 中查看设备和用户偏好设置 DataStore 仓库的内容,请完成以下步骤:
点击记录代码库内容。
点击对话框中的 OK,然后选中 Logcat。
反馈和帮助
如需就如何改进 Sample App for Matter 的开发体验提交想法或反馈,请填写我们的反馈表单。
如果您在使用 Sample App for Matter 时遇到问题,请尝试完成以下步骤来验证您的环境:
如果您对使用示例应用有疑问或发现代码 bug,可以将问题提交到 GitHub 代码库中的问题跟踪器:
如需获取 Google 就技术问题提供的官方指南,请使用智能家居开发者论坛:
如需从社区获取技术支持,请在 Stack Overflow 上使用 google-smart-home
标记: