Google Home Sample App for Matter utilise Google Home Mobile SDK pour créer une application Android semblable à Google Home app (GHA). Cet exemple d'application fournit les fonctionnalités suivantes :
- Mettre en service des appareils Matter physiques et virtuels sur le tissu Android local
- Mettre en service des appareils physiques et virtuels sur un tissu de développement
- Contrôler les appareils sur votre réseau de développement, par exemple allumer une lumière
- Les fonctionnalités multi-administrateur vous permettent de partager des appareils sur le tissu de développement avec d'autres applications, et inversement d'inclure dans le tissu de développement des appareils partagés à partir d'autres applications.
- Utilitaires pour les développeurs
Ce guide explique comment installer l'APK Sample App for Matter et l'utiliser pour mettre en service, contrôler et partager des appareils Matter.
Pour télécharger le code source, apprendre à intégrer Mobile SDK et personnaliser les écrans dans Android Studio, essayez notre atelier de programmation Sample App for Matter.
Accéder à l'atelier de programmation Sample App for Matter
Prérequis
- Un appareil Android O (8.1, niveau d'API 27) ou version ultérieure disponible pour les tests. Pour vous assurer que votre appareil dispose de la dernière version de l'assistance Matter, consultez le guide Vérifier les modules et services Matter.
- Créez un appareil Matter avec des fonctionnalités Marche/Arrêt. Cette application exemple fonctionne avec un appareil virtuel et un ESP32.
- Appareil virtuel Matter (MVD) Pour minimiser les problèmes d'environnement, nous vous recommandons vivement de commencer par MVD. En cas de problème, il sera beaucoup plus facile d'enquêter si l'application exemple est utilisée avec MVD.
- Créez un appareil virtuel Matter avec l'application
rootnode_dimmablelight_bCwGYSDpoe
. Lorsque vous créez une intégration Matter dans Google Home Developer Console, utilisez0xFFF1
comme ID fournisseur et0x8000
comme ID produit. - Créez un appareil Espressif avec
all-clusters-app
. Lorsque vous créez une intégration Matter dans Developer Console, utilisez0xFFF1
comme ID de fournisseur et0x8001
comme ID de produit.
Vous n'avez pas besoin de hub, par exemple un Google Nest Hub (2nd gen), pour mettre en service et contrôler des appareils avec Sample App for Matter.
Installer
Accédez à la section Releases (Versions) du dépôt GitHub Sample App for Matter. Pour la version la plus récente, recherchez dans la section "Assets" (Composants) l'APK nommé
GHSAFM-version-default-debug.apk
. Ne sélectionnez pastargetcommissioner
.Installez Android Debug Bridge (adb) :
Connectez votre appareil Android via USB et activez Transfert de fichiers, puis installez l'APK :
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Mettre en service des appareils
Lorsque vous lancez l'application exemple pour la première fois, une boîte de dialogue s'affiche avec un lien vers l'atelier de programmation Sample App for Matter. Si vous sélectionnez Ne plus afficher ce message, vous pouvez faire réapparaître la boîte de dialogue à tout moment en modifiant vos préférences dans la section "Admin" de l'application.
Dans les étapes suivantes, vous allez ajouter un appareil Matter au tissu Android local, ainsi qu'un tissu de développement local à l'application exemple uniquement.
Que sont les tissus Matter ?
Un fabric Matter est un domaine de confiance partagé entre les appareils d'un réseau domestique, qui leur permet de communiquer entre eux.
Les appareils peuvent comporter un ou plusieurs fabrics correspondant à une plate-forme, une application ou un groupe d'appareils interagissant ensemble. Les fabrics ont un ID unique, et les appareils partagent le même ensemble d'identifiants et d'autorité de certification (CA). Ces identifiants sont attribués lors de la mise en service Matter.
Pour mettre en service un appareil Matter, procédez comme suit :
Appuyez sur le bouton
Ajouter un appareil pour lancer le processus de mise en service.Le contrôle est ensuite transféré à Google Play services, qui est lancé à partir d'un appel à Mobile SDK. Pour prouver que vous êtes bien le propriétaire, appuyez sur Scanner le code QR ou sur Utiliser un code d'association.
Une fois la mise en service terminée, saisissez un nom d'appareil, puis appuyez sur OK.
Votre appareil est désormais connecté à la fois au tissu Android local et au tissu de développement.
L'ensemble du processus de mise en service et des écrans associés sont gérés par Play services lors de la mise en service des appareils. Cela permet d'offrir une expérience utilisateur cohérente et d'éviter d'avoir à gérer des autorisations sensibles, par exemple les identifiants Wi-Fi et Thread.
Contrôler des appareils
Le développement de l'infrastructure crée les identifiants permettant de contrôler les appareils Matter directement depuis l'application exemple.
Sur l'écran d'accueil, vous pouvez activer ou désactiver votre appareil. Appuyez sur l'appareil pour accéder à ses informations.
Partager les appareils
Le partage d'un appareil est appelé flux multi-administrateur dans la spécification Matter. Une fois qu'un appareil est mis en service dans l'application exemple, vous pouvez facilement le partager avec d'autres écosystèmes.
Pour partager votre appareil Matter avec d'autres écosystèmes, vous devez avoir installé une autre plate-forme sur votre appareil Android. Cette plate-forme externe devient le commissaire cible. Nous avons créé une autre instance de l'application exemple que vous pouvez utiliser comme commissaire cible.
Accédez à la section Releases (Versions) du dépôt GitHub Sample App for Matter. Pour la version la plus récente, recherchez dans la section "Assets" (Composants) l'APK nommé
GHSAFM-version-targetcommissioner-debug.apk
. Ne sélectionnez pasdefault
.Installez le commissaire cible.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
Sur l'écran d'accueil, appuyez sur l'appareil pour afficher ses informations. Appuyez sur Partager.
L'application exemple appelle l'API Share Mobile SDK et, une fois de plus, le contrôle est transféré à Play services.
Une feuille de partage s'affiche, ce qui vous permet de choisir l'application ou la plate-forme à laquelle vous souhaitez associer l'appareil. Cet écran vous permet de partager l'appareil de deux manières :
- Manuellement, à l'aide d'un code de configuration à partager avec l'application de l'administrateur cible
- Avec une application Android locale enregistrée en tant que commissaire Matter
L'application de commissaire cible est intitulée GHSAFM-TC. Appuyez sur cette instance de l'application exemple pour partager votre appareil.
Ensuite, l'application externe (commissaire cible) termine la mise en service de l'appareil dans son propre réseau.
Paramètres
Sur l'écran d'accueil, cliquez sur l'icône Paramètres
. Vous pouvez y mettre à jour vos préférences utilisateur, obtenir de l'aide et en savoir plus sur l'application.Notification en demi-feuille
Sur l'écran "Paramètres", vous pouvez choisir de désactiver les notifications proactives de découverte des appareils Matter pouvant générer des commissions.
Si votre application fournit son propre flux de découverte ou de mise en service Matter, vous pouvez choisir de supprimer ces notifications pour éviter les interruptions. Pour en savoir plus, consultez Supprimer les notifications de découverte des appareils pouvant être mis en service.
Utilitaires pour les développeurs
Depuis l'écran "Paramètres", vous pouvez également accéder à Utilitaires pour les développeurs.
Pour examiner le contenu des dépôts DataStore des préférences de l'appareil et de l'utilisateur dans Logcat, procédez comme suit :
Cliquez sur Enregistrer le contenu des dépôts.
Cliquez sur OK dans la boîte de dialogue, puis cochez Logcat.
Commentaires et aide
Pour nous faire part de vos commentaires ou de vos suggestions sur la façon dont nous pouvons améliorer l'expérience de développement avec Sample App for Matter, remplissez notre formulaire de commentaires.
Si vous rencontrez des problèmes avec Sample App for Matter, essayez de suivre les étapes pour valider votre environnement :
Si vous avez des questions sur l'utilisation de l'application exemple ou si vous découvrez un bug dans le code, vous pouvez signaler les problèmes dans l'outil de suivi des problèmes du dépôt GitHub :
Pour obtenir des conseils officiels de Google sur les questions techniques, utilisez le forum des développeurs pour la maison connectée :
Pour obtenir une assistance technique de la communauté, utilisez le tag google-smart-home
sur Stack Overflow :