为了帮助您构建与 Matter 设备交互的 Android 应用,Google 开发了 Google Home Mobile SDK。Mobile SDK 包含两个核心 API,可让您的应用与 Google Fabric 委托和共享设备。
将设备添加到 Google Fabric 后,用户可以通过 Google Home app (GHA)、Android 电源控制、语音和 Nest 触摸屏设备控制其设备。
借助 Mobile SDK,您还可以定义自定义配置服务,以便将设备配置到其他 Matter 生态系统。
将 Mobile SDK 集成到您的 Android 应用中
首先,请完成以下步骤:
按照设置 Google Play services 中提供的说明操作。
将 Play services 依赖项添加到
build.gradle
文件中:implementation 'com.google.android.gms:play-services-home:16.0.0-beta1'
确保模块传送
Play services home
模块是可选的,因此只有当设备上的应用在其 AndroidManifest.xml
文件中指定了适当的 Play services 模块依赖项时,用户设备上才会提供 Matter 功能。
GHA 和 Google Home Sample App for Matter 都在其清单中添加了此模块依赖项。如果您要将 Mobile SDK 集成到 Android 应用中,为了确保为应用用户提供 Matter 支持,请将以下 service
代码块添加到 AndroidManifest.xml
文件中的 application
声明中:
<service android:name="com.google.android.gms.metadata.ModuleDependencies"
android:enabled="false"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.metadata.MODULE_DEPENDENCIES" />
</intent-filter>
<meta-data android:name="home:0:preferred" android:value=""/>
</service>
只有搭载 Play services 22.50.14 或更高版本的 Android 设备支持此功能。
如需查看示例实现,请参阅 Sample App for Matter 的清单。
您可以使用 ModuleInstallClient
在运行时检查 Home 模块的可用性。如需了解详情,请参阅 使用 ModuleInstallClient 确保 API 可用性页面。
调用其他 Android 应用
如果您使用的是 Android 11 或更高版本,则需要在 AndroidManifest.xml
中添加以下 queries
代码块,以便您的应用可以调用其他应用。
<queries>
<!-- For GMS Core/Play service -->
<package android:name="com.google.android.gms" />
<package android:name="com.android.vending" />
<!-- End of GMS Core/Play service-->
</queries>
如需了解详情,请参阅 Android 上的软件包可见性过滤一文。
使用 Google Home Matter 示例应用
如需了解 Mobile SDK 在 Android 应用中的运作方式,请试用我们的 Sample App for Matter。
构建您自己的应用
为了帮助您快速上手,我们已将 Sample App for Matter 开源,并提供了配套的 Codelab,以便您根据自己的 Android 项目自定义我们的示例代码。
前往 Sample App for Matter Codelab
资源
如需详细了解 Mobile SDK,请参阅 API 参考文档。
如需了解此 SDK 如何处理最终用户数据,请参阅 Home Mobile SDK Google Play 数据安全部分