El objeto 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:
- Asigna dispositivos Matter físicos y virtuales a Tejido local de Android
- Asigna dispositivos físicos y virtuales a un tejido de desarrollo
- Controlar dispositivos en la estructura de desarrollo; por ejemplo, activar una ligero
- Las funciones de varios administradores te permiten compartir dispositivos en el tejido de desarrollo con otras apps y, a la vez, poder incluirlas en la implementación dispositivos de tela que se comparten 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 que asigne, controle y comparta dispositivos Matter.
Para descargar el código fuente, aprende a integrar el Mobile SDK y personaliza pantallas en Android Studio, prueba nuestra 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 versiones posteriores disponible para pruebas. Para asegúrate de que tu dispositivo tenga la versión más reciente de Matter asistencia, revisa el Verifica Matter módulos y Servicios .
- Compila un dispositivo Matter con funciones de encendido y apagado. Esta
la app de ejemplo funciona con un dispositivo virtual y un ESP32.
- Dispositivo Virtual de Matter (MVD). Para minimizar los problemas del entorno, te sugerimos que uses MVD para comenzar. Si alguna vez tienes problemas, será mucho más fácil investigar si la app de ejemplo se usa en función del MVD.
- Compila un dispositivo virtual de Matter
con la app de
rootnode_dimmablelight_bCwGYSDpoe
. Cuando Crea una integración de Matter en el Google Home Developer Console utiliza0xFFF1
como tu ID de proveedor y0x8000
como tu ID de producto. - Cómo compilar un dispositivo Espressif
con el
all-clusters-app
. Cuando Crea una integración de Matter. En el Developer Console, utiliza0xFFF1
como tu ID de proveedor y0x8001
como tu ID del producto.
No necesitas un concentrador, por ejemplo, un Google Nest Hub (2nd gen), para realizar la comisión y controlar dispositivos con Sample App for Matter.
Instalar
Ve a la sección Lanzamientos. en el GitHub de Sample App for Matter en un repositorio de confianza. Para ver la versión más reciente, busca la sección Recursos el APK llamado
GHSAFM-version-default-debug.apk
No seleccionestargetcommissioner
Instala Android Debug Bridge (adb):
Conecta el dispositivo Android por USB, habilita la Transferencia de archivos y, luego, Instala el APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Comisión 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 hacer que el diálogo vuelva a aparecer 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 La estructura local de Android, junto con una estructura de desarrollo local para la muestra en la app.
¿Qué son las telas Matter?
Una estructura Matter es un dominio de confianza compartido entre dispositivos en una red doméstica que les permite comunicarse entre sí.
Los dispositivos pueden tener una o más estructuras que corresponden a una plataforma, app o grupo de dispositivos que interactúan entre sí. Los tejidos tienen un ID y los dispositivos compartan el mismo conjunto de credenciales y autoridad certificadora (CA). Estas credenciales se asignan durante Matter. puesta en servicio.
Para asignar un dispositivo Matter, completa los siguientes pasos:
Presiona el botón
Agregar Botón del dispositivo para iniciar el proceso de comisión.Luego, el control se transfiere a Google Play services, que se inicia de una llamada a Mobile SDK. Establecer evidencia de posesión, Escanear código QR o presionar Usar código de vinculación
Cuando se complete la puesta en marcha, ingresa un Nombre del dispositivo y presiona Listo.
Ahora, el dispositivo está conectado a la estructura local de Android y a la tejido de desarrollo.
Todo el trabajo de puesta en servicio y las pantallas asociadas son manejados por Play services cuando se ponen en marcha dispositivos. Esta brinda una experiencia del usuario coherente y elimina la necesidad de manipular datos sensibles permisos, por ejemplo, credenciales de Wi-Fi y Thread.
Controla dispositivos
El tejido de desarrollo crea las credenciales para controlar Dispositivos Matter directamente desde la app de ejemplo.
En la pantalla principal, puedes activar o desactivar el dispositivo. Toca el acceder a los detalles del dispositivo.
Compartir dispositivos
El uso compartido de un dispositivo se conoce como flujo de varios administradores en la la especificación Matter. Una vez que se pone en marcha un dispositivo con la app de ejemplo, puedes compartirlo fácilmente con otros ecosistemas.
Para compartir tu dispositivo Matter con otros ecosistemas, haz lo siguiente: necesitarás tener otra plataforma instalada en tu dispositivo Android. Esta plataforma externa se convierte en el comisionado objetivo. Creamos otro de la app de ejemplo que puedes usar como comisionado objetivo.
Ve a la sección Lanzamientos. en el GitHub de Sample App for Matter en un repositorio de confianza. Para ver la versión más reciente, busca la sección Recursos 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 ver 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 permite elegir la aplicación o plataforma que deseas quieres vincular el dispositivo. Esta pantalla te ofrece dos formas de compartir la dispositivo:
- De forma manual, a través de un código de configuración que se compartirá con la app del comisionado objetivo
- Con una app para Android local que se haya registrado como Comisionado de Matter
La app del comisionado objetivo está etiquetada como GHSAFM-TC. Presiona esta instancia de la app de ejemplo para compartir tu dispositivo.
Luego, la app externa (comisionado objetivo) completa la comisión de la dispositivo en su propia estructura.
Configuración
En la pantalla principal, haz clic en la configuración Ícono de
. Aquí tienes las opciones actualizar las preferencias de los usuarios, obtener ayuda y obtener más información sobre la aplicaciónNotificación de media hoja
En la pantalla Configuración, puedes inhabilitar las comisiones proactivas notificaciones de descubrimiento para Matter dispositivos.
Si tu aplicación proporciona su propio descubrimiento de Matter o de las comisiones, te recomendamos que anules estas notificaciones para evitar interrupciones. Consulte Cómo suprimir el descubrimiento por comisión notificaciones para obtener más información.
Utilidades para desarrolladores
Desde la pantalla Configuración, también puedes acceder a las Utilidades para desarrolladores.
Cómo revisar el contenido de los repositorios de DataStore de preferencias de dispositivos y usuarios En Logcat, completa los siguientes pasos:
Haz clic en Registrar contenido de repositorios.
Haz clic en OK en el diálogo y, luego, marca Logcat.
Comentarios y ayuda
Enviar tus opiniones o comentarios sobre cómo podemos mejorar el desarrollo. experiencia con Sample App for Matter, completa nuestro formulario de comentarios.
Si tienes problemas con Sample App for Matter, intenta completar sigue estos pasos para verificar tu entorno:
Si tienes preguntas sobre el uso de la app de ejemplo o descubres un error de código, puedes puedes enviar problemas a la Herramienta de seguimiento de errores del repositorio de GitHub:
Para obtener orientación oficial de Google sobre preguntas técnicas, usa la app de Casa inteligente Foro de desarrolladores:
Para obtener asistencia técnica de la comunidad, usa la etiqueta google-smart-home
en
Stack Overflow: