
El Google Home Sample App for Matter usa el Google Home Mobile SDK para crear una app para Android similar a Google Home app (GHA). Esta app de ejemplo proporciona las siguientes funciones:
- Asigna dispositivos Matter físicos y virtuales al entorno local de Android
- Asigna credenciales a dispositivos físicos y virtuales en un entorno de desarrollo
- Controlar dispositivos en tu tejido de desarrollo, por ejemplo, encender una luz
- Las funciones de varios administradores te permiten compartir dispositivos en la estructura de desarrollo con otras apps y, a la inversa, poder incluir en la estructura 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 encargar, controlar y compartir dispositivos Matter.
Para descargar el código fuente, aprender a integrar el Mobile SDK y personalizar pantallas en Android Studio, prueba nuestro codelab de 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 más reciente con Matter, consulta la guía Verifica los módulos y servicios de Matter.
- Compila 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 de entorno, te recomendamos que uses MVD para comenzar. Si alguna vez tienes problemas, será mucho más fácil investigar si la app de ejemplo se usa con MVD.
- Compila un dispositivo virtual de Matter
con la app de
rootnode_dimmablelight_bCwGYSDpoe. Cuando crees una integración de Matter en la Google Home Developer Console, usa0xFFF1como tu ID de proveedor y0x8000como tu ID del producto. - Compila un dispositivo Espressif
con el
all-clusters-app. Cuando crees una integración de Matter en la Developer Console, usa0xFFF1como tu ID de proveedor y0x8001como tu ID del producto.
No necesitas una unidad central, por ejemplo, un Google Nest Hub (2nd gen), para poner en marcha y controlar dispositivos con la Sample App for Matter.
Instalar
Ve a la sección Versiones en el repositorio de GitHub de Sample App for Matter. Para obtener la versión más reciente, busca en la sección Recursos el APK llamado
GHSAFM-version-default-debug.apk. No selecciones la opcióntargetcommissioner.Instala Android Debug Bridge (adb):
Conecta tu dispositivo Android con USB, habilita Transferencia de archivos y, luego, instala el APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Cómo poner en marcha dispositivos
Cuando inicies la app de ejemplo por primera vez, verás 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 abrir el diálogo en cualquier momento actualizando tus preferencias en la sección Administrador de la app.
En los próximos pasos, agregarás un dispositivo Matter a la red de Android local, junto con una red de desarrollo que solo es local para la app de ejemplo.
¿Qué son las estructuras de Matter?

Una estructura de 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 correspondan 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 la misma autoridad certificadora (AC). Estas credenciales se asignan durante la puesta en marcha de Matter.
Para comisionar un dispositivo Matter, completa los siguientes pasos:
Presiona el botón Agregar dispositivo para iniciar el proceso de comisión.

Luego, 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 vinculación, ingresa un nombre para el dispositivo y, luego, presiona Listo.
Tu dispositivo ahora está conectado tanto a la estructura local de Android como a la estructura de desarrollo.
Play services se encarga de todo el trabajo de comisión y las pantallas asociadas cuando se comisionan 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
La estructura de desarrollo crea las credenciales para controlar los dispositivos Matter directamente desde la app de ejemplo.
En la pantalla principal, puedes activar o desactivar el dispositivo. Presiona el dispositivo para acceder a sus detalles.

Compartir dispositivos
El uso compartido de un dispositivo se denomina flujo de varios administradores en la especificación de Matter. Una vez que se comisiona 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 otra plataforma instalada en tu dispositivo Android. Esta plataforma externa se convierte en el comisionador de destino. Creamos otra instancia de la app de ejemplo que puedes usar como comisionado de destino.
Ve a la sección Versiones en el repositorio de GitHub de Sample App for Matter. Para obtener la versión más reciente, busca en la sección Recursos el APK llamado
GHSAFM-version-targetcommissioner-debug.apk. No selecciones la opcióndefault.Instala el comisionador de destino.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apkEn la pantalla principal, presiona el dispositivo para mostrar su información. Presiona Compartir.

La app de ejemplo llama a la API de Share de Mobile SDK y, una vez más, el control se transfiere a Play services.
Se mostrará una hoja de uso compartido que te permitirá elegir la app o la plataforma con la que quieras vincular el dispositivo. En esta pantalla, se proporcionan dos formas de compartir el dispositivo:
- De forma manual, a través de un código de configuración que se compartirá con la app de comisionado de destino
- Con una app para Android local que se haya registrado como comisionador de Matter
La app de comisionado de destino tiene la etiqueta GHSAFM-TC. Presiona esta instancia de la app de ejemplo para compartir tu dispositivo.
Luego, la app externa (comisionador de destino) completa la comisión del dispositivo en su propio tejido.
Configuración
En la pantalla principal, haz clic en el ícono de configuración . Aquí tienes las 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 Configuración, puedes inhabilitar las notificaciones proactivas de descubrimiento de dispositivos comisionables para los dispositivos Matter.
Si tu aplicación proporciona su propio flujo de descubrimiento o comisión de Matter, es posible que quieras suprimir estas notificaciones para evitar interrupciones. Consulta Cómo suprimir las notificaciones de descubrimiento de dispositivos que se pueden comisionar para obtener más información.
Utilidades para desarrolladores
En la pantalla Configuración, también puedes acceder a las utilidades para desarrolladores.
Para revisar el contenido de los repositorios de DataStore de preferencias del usuario y del dispositivo en Logcat, completa los siguientes pasos:
Haz clic en Registrar el contenido de los repositorios.
Haz clic en OK en el cuadro de 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 el Sample App for Matter, intenta completar los pasos para verificar tu entorno:
Si tienes preguntas sobre cómo usar la app de ejemplo o descubres un error en el código, puedes enviar problemas a la herramienta de seguimiento de errores en el repositorio de GitHub:
Para obtener orientación oficial de Google sobre preguntas técnicas, usa el foro para desarrolladores de casa inteligente:
Para obtener asistencia técnica de la comunidad, usa la etiqueta google-smart-home en
Stack Overflow: