Google Home Sample App for Matter usa Google Home Mobile SDK para crear una app para Android similar a Google Home app (GHA). Esta app de ejemplo proporciona las siguientes funciones:
- Designa credenciales a dispositivos Matter físicos y virtuales en el entorno local de Android
- Cómo asignar credenciales a dispositivos físicos y virtuales en un entorno de desarrollo
- Controlar dispositivos en tu estructura de desarrollo, por ejemplo, encender una luz
- Las funciones de Multi-Admin te permiten compartir dispositivos en el tejido de desarrollo con otras apps y, a la vez, incluir en el tejido de desarrollo dispositivos compartidos desde otras apps.
- Utilidades para desarrolladores
En esta guía, se describe cómo instalar el APK de Sample App for Matter y usarlo para poner en funcionamiento, controlar y compartir dispositivos Matter.
Para descargar el código fuente, aprender a integrar Mobile SDK y personalizar pantallas en Android Studio, prueba nuestro codelab Sample App for Matter.
Ir al codelab de Sample App for Matter
Requisitos previos
- Un dispositivo con Android O (8.1, nivel de API 27) o una versión posterior disponible para realizar pruebas Para asegurarte de que tu dispositivo tenga la compatibilidad Matter más reciente, consulta la guía Cómo verificar los módulos y servicios de Matter.
- Crea un dispositivo Matter con capacidades de encendido y apagado. Esta app de ejemplo funciona con un dispositivo virtual y un ESP32.
- Dispositivo virtual de Matter (MVD) Para minimizar los problemas relacionados con el entorno, te recomendamos que comiences con MVD. Si alguna vez tienes problemas, será mucho más fácil investigar si la app de ejemplo se usa con el MVD.
- Compila un dispositivo virtual Matter con la app de
rootnode_dimmablelight_bCwGYSDpoe
. Cuando crees una integración de Matter en Google Home Developer Console, usa0xFFF1
como tu ID de proveedor y0x8000
como tu ID de producto. - Compila un dispositivo Espressif con
all-clusters-app
. Cuando crees una integración de Matter en Developer Console, usa0xFFF1
como tu ID de proveedor y0x8001
como tu ID de producto.
No necesitas una unidad central, por ejemplo, un Google Nest Hub (2nd gen), para poner en marcha y controlar dispositivos con el Sample App for Matter.
Instalar
Ve a la sección Releases del repositorio de Sample App for Matter en GitHub. Para la versión más reciente, busca en la sección Assets el APK llamado
GHSAFM-version-default-debug.apk
. No seleccionestargetcommissioner
.Instala Android Debug Bridge (adb):
Conecta tu dispositivo Android con un cable USB y habilita Transferencia de archivos. Luego, instala el APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Puesta en marcha de dispositivos
Cuando inicies la app de ejemplo por primera vez, aparecerá un diálogo con un vínculo al codelab de Sample App for Matter. Si seleccionas No volver a mostrar este mensaje, puedes volver a mostrar el diálogo en cualquier momento actualizando tus preferencias en la sección Administrador de la app.
En los siguientes pasos, agregarás un dispositivo Matter a la estructura local de Android, junto con una estructura de desarrollo que sea local solo para la app de ejemplo.
¿Qué son los dispositivos Matter?
Una estructura Matter es un dominio de confianza compartido entre los dispositivos de una red doméstica que les permite comunicarse entre sí.
Los dispositivos pueden tener uno o más fabrics que corresponden a una plataforma, una app o un grupo de dispositivos que interactúan entre sí. Los fabrics tienen un ID único, y los dispositivos comparten el mismo conjunto de credenciales y autoridad certificadora (AC). Estas credenciales se asignan durante la puesta en servicio de Matter.
Para habilitar un dispositivo Matter, completa los siguientes pasos:
Presiona el botón
Agregar dispositivo para iniciar el proceso de puesta en marcha.A continuación, el control se transfiere a Google Play services, que se inicia desde una llamada a Mobile SDK. Para establecer la prueba de posesión, escanea el código QR o presiona Usar código de vinculación.
Cuando se complete la puesta en marcha, ingresa un Nombre del dispositivo y, luego, presiona Listo.
Tu dispositivo ahora está conectado a la estructura de Android local y a la estructura de desarrollo.
Play services controla todo el trabajo de puesta en marcha y las pantallas asociadas cuando se ponen en marcha los dispositivos. Esto proporciona una experiencia del usuario coherente y elimina la necesidad de controlar permisos sensibles, por ejemplo, las credenciales de Wi-Fi y Thread.
Controla dispositivos
El tejido de desarrollo crea las credenciales para controlar los dispositivos Matter directamente desde la app de ejemplo.
En la pantalla principal, puedes activar On o desactivar Off el dispositivo. Presiona el dispositivo para acceder a sus detalles.
Compartir dispositivos
El uso compartido de un dispositivo se conoce como flujo de varios administradores en la especificación de Matter. Una vez que se pone en servicio un dispositivo en la app de ejemplo, puedes compartirlo fácilmente con otros ecosistemas.
Para compartir tu dispositivo Matter con otros ecosistemas, deberás tener instalada otra plataforma en tu dispositivo Android. Esta plataforma externa se convierte en el comisionista objetivo. Creamos otra instancia de la app de ejemplo que puedes usar como comisionado de destino.
Ve a la sección Releases del repositorio de Sample App for Matter en GitHub. Para la versión más reciente, busca en la sección Assets el APK llamado
GHSAFM-version-targetcommissioner-debug.apk
. No seleccionesdefault
.Instala el comisionado de destino.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
En la pantalla principal, presiona el dispositivo para mostrar su información. Presiona Compartir.
La app de ejemplo llama a la API de Mobile SDK Share y, una vez más, el control se transfiere a Play services.
Aparecerá una hoja para compartir, que te permitirá elegir la app o la plataforma con la que quieres vincular el dispositivo. En esta pantalla, se ofrecen dos formas de compartir el dispositivo:
- Manualmente a través de un código de configuración que se compartirá con la app de la comisión de destino
- Con una app para Android local que se registró como comisionado de Matter
La app de la comisión de destino se etiqueta como GHSAFM-TC. Presiona esta instancia de la app de ejemplo para compartir tu dispositivo.
A continuación, la app externa (comisionador de destino) completa la puesta en servicio del dispositivo en su propia estructura.
Configuración
En la pantalla principal, haz clic en el ícono de configuración
. Aquí tienes opciones para actualizar las preferencias del usuario, obtener ayuda y obtener más información sobre la app.Notificación de media hoja
En la pantalla de configuración, puedes inhabilitar las notificaciones proactivas de descubrimiento aptas para comisiones para dispositivos Matter.
Si tu aplicación proporciona su propio flujo de descubrimiento o de encargo de Matter, es posible que desees suprimir estas notificaciones para evitar interrupciones. Consulta Cómo suprimir las notificaciones de descubrimiento aptas para comisiones para obtener más información.
Utilidades para desarrolladores
En la pantalla de configuración, también puedes acceder a Utilidades para desarrolladores.
Para revisar el contenido de los repositorios de Device and User Preferences DataStore en Logcat, completa los siguientes pasos:
Haz clic en Registrar el contenido de los repositorios.
Haz clic en Aceptar en el diálogo y, luego, marca Logcat.
Comentarios y ayuda
Para enviar tus ideas o comentarios sobre cómo podemos mejorar la experiencia de desarrollo con Sample App for Matter, completa nuestro formulario de comentarios.
Si tienes problemas con Sample App for Matter, intenta completar los pasos para verificar tu entorno:
Si tienes preguntas sobre el uso de la app de ejemplo o descubres un error de código, puedes enviar problemas a la herramienta de seguimiento de problemas en el repositorio de GitHub:
Para obtener orientación oficial de Google sobre preguntas técnicas, usa el foro de desarrolladores de Smart Home:
Para obtener asistencia técnica de la comunidad, usa la etiqueta google-smart-home
en Stack Overflow: