Die Google Home Sample App for Matter verwendet die Google Home Mobile SDK, um eine Android-App zu erstellen, die Google Home app (GHA) ähnelt. Diese Beispiel-App bietet folgende Funktionen:
- Physische und virtuelle Matter-Geräte für die lokale Android-Fabric in Betrieb nehmen
- Physische und virtuelle Geräte für eine Entwicklungs-Fabric in Betrieb nehmen
- Geräte in Ihrem Entwicklungs-Fabric steuern, z. B. eine Lampe einschalten
- Mit den Funktionen für mehrere Administratoren können Sie Geräte in der Entwicklungsstruktur für andere Apps freigeben und umgekehrt Geräte, die von anderen Apps freigegeben wurden, in die Entwicklungsstruktur aufnehmen.
- Entwicklerdienstprogramme
In dieser Anleitung wird beschrieben, wie Sie das Sample App for Matter-APK installieren und damit Matter-Geräte in Betrieb nehmen, steuern und freigeben.
Im Sample App for Matter-Codelab können Sie den Quellcode herunterladen, erfahren, wie Sie Mobile SDK einbinden und Bildschirme in Android Studio anpassen.
Sample App for Matter-Codelab aufrufen
Vorbereitung
- Ein Gerät mit Android O (8.1, API-Level 27) oder höher, das für Tests verwendet werden kann. Im Leitfaden Matter-Module und -Dienste überprüfen erfahren Sie, ob Ihr Gerät die neueste Matter-Unterstützung hat.
- Entwerfen Sie ein Matter-Gerät mit Ein-/Aus-Funktionen. Diese Beispiel-App arbeitet mit einem virtuellen Gerät und einem ESP32.
- Matter Virtual Device (MVD) Wir empfehlen dringend, zu Beginn MVD zu verwenden, um Umgebungsprobleme zu minimieren. Sollten Probleme auftreten, ist es viel einfacher, sie zu untersuchen, wenn die Beispiel-App gegen MVD verwendet wird.
- Erstelle mit der
rootnode_dimmablelight_bCwGYSDpoe
-App ein virtuelles Matter-Gerät. Wenn du in Google Home Developer Console eine Matter-Integration erstellst, verwende0xFFF1
als Anbieter-ID und0x8000
als Produkt-ID. - Mit der
all-clusters-app
ein Espressif-Gerät erstellen Wenn du in der Developer Console eine Matter-Integration erstellst, verwende0xFFF1
als Anbieter-ID und0x8001
als Produkt-ID.
Sie benötigen keinen Hub, z. B. Google Nest Hub (2nd gen), um Geräte mit der Sample App for Matter in Betrieb zu nehmen und zu steuern.
Installieren
Gehen Sie im GitHub-Repository Sample App for Matter zum Abschnitt Releases. Suchen Sie im Bereich „Assets“ nach dem APK mit dem Namen
GHSAFM-version-default-debug.apk
. Wählen Sie nichttargetcommissioner
aus.Installieren Sie die Android Debug Bridge (adb):
Schließen Sie Ihr Android-Gerät über USB an und aktivieren Sie Dateiübertragung. Installieren Sie dann das APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Geräte in Betrieb nehmen
Wenn Sie die Beispiel-App zum ersten Mal starten, wird ein Dialogfeld mit einem Link zum Sample App for Matter-Codelab angezeigt. Wenn Sie Diese Meldung nicht mehr anzeigen auswählen, können Sie das Dialogfeld jederzeit wieder anzeigen lassen, indem Sie Ihre Einstellungen im Bereich „Verwaltung“ der App aktualisieren.
In den nächsten Schritten fügen Sie der lokalen Android-Struktur ein Matter-Gerät sowie eine Entwicklungs-Struktur hinzu, die nur für die Beispiel-App lokal verfügbar ist.
Was sind Matter-Plattformen?
Eine Matter-Fabric ist eine gemeinsame vertrauenswürdige Domain für Geräte in einem Heimnetzwerk, die die Kommunikation untereinander ermöglicht.
Geräte können eine oder mehrere Fabrics haben, die einer Plattform, App oder Gruppe von Geräten entsprechen, die miteinander interagieren. Fabrics haben eine eindeutige ID und die Geräte verwenden dieselben Anmeldedaten und Zertifizierungsstelle (CA). Diese Anmeldedaten werden während der Matter-Inbetriebnahme zugewiesen.
So nehmen Sie ein Matter-Gerät in Betrieb:
Tippe auf die Schaltfläche
Gerät hinzufügen, um mit der Inbetriebnahme zu beginnen.Als Nächstes wird die Steuerung an Google Play services übertragen, das über einen Aufruf der Mobile SDK gestartet wird. Um einen Eigentumsnachweis zu erbringen, kannst du den QR-Code scannen oder auf Kopplungscode verwenden tippen.
Geben Sie nach Abschluss der Inbetriebnahme einen Gerätenamen ein und tippen Sie auf Fertig.
Ihr Gerät ist jetzt sowohl mit der lokalen Android-Fabric als auch mit der Entwicklungs-Fabric verbunden.
Alle Inbetriebnahmearbeiten und zugehörigen Bildschirme werden bei der Inbetriebnahme von Geräten von Play services durchgeführt. Das sorgt für eine einheitliche Nutzererfahrung und es müssen keine sensiblen Berechtigungen wie WLAN- und Thread-Anmeldedaten mehr verarbeitet werden.
Geräte steuern
Die Entwicklungsumgebung erstellt die Anmeldedaten zur Steuerung von Matter-Geräten direkt in der Beispielanwendung.
Auf dem Startbildschirm können Sie Ihr Gerät ein- oder ausschalten. Tippen Sie auf das Gerät, um auf die Gerätedetails zuzugreifen.
Geräte gemeinsam verwenden
Die Freigabe eines Geräts wird in der Matter-Spezifikation als Ablauf mit mehreren Administratoren bezeichnet. Sobald ein Gerät für die Beispiel-App in Betrieb genommen wurde, können Sie es ganz einfach für andere Systeme freigeben.
Wenn du dein Matter-Gerät gemeinsam mit anderen Systemen nutzen möchtest, muss auf deinem Android-Gerät eine andere Plattform installiert sein. Diese externe Plattform wird zum Zielauftragnehmer. Wir haben eine weitere Instanz der Beispiel-App erstellt, die Sie als Zielauftragnehmer verwenden können.
Rufen Sie im GitHub-Repository Sample App for Matter den Abschnitt „Releases“ auf. Suchen Sie im Bereich „Assets“ nach dem APK mit dem Namen
GHSAFM-version-targetcommissioner-debug.apk
. Wählen Sie nichtdefault
aus.Installieren Sie den Zielbeauftragten.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
Tippen Sie auf dem Startbildschirm auf das Gerät, um die Geräteinformationen aufzurufen. Tippen Sie auf Teilen.
Die Beispiel-App ruft die Mobile SDK Share API auf und die Steuerung wird wieder an Play services übergeben.
Daraufhin wird ein Freigabebereich angezeigt, in dem Sie die App oder Plattform auswählen können, mit der Sie das Gerät koppeln möchten. Auf diesem Bildschirm kannst du das Gerät auf zwei Arten teilen:
- Manuell über einen Einrichtungscode, der mit der Ziel-App des Auftraggebers geteilt wird
- Mit einer lokalen Android-App, die als Matter-Beauftragter registriert ist
Die Ziel-App des Mobilfunkanbieters ist mit GHSAFM-TC gekennzeichnet. Tippe auf diese Instanz der Beispiel-App, um dein Gerät zu teilen.
Als Nächstes führt die externe App (Ziel-Beauftragter) die Inbetriebnahme des Geräts in ihrer eigenen Fabric durch.
Einstellungen
Klicken Sie auf dem Startbildschirm auf das Symbol für die Einstellungen
. Hier können Sie die Nutzereinstellungen aktualisieren, Hilfe erhalten und mehr über die App erfahren.Benachrichtigung im halben Format
Auf dem Bildschirm „Einstellungen“ können Sie proaktive Benachrichtigungen zur Gerätesuche deaktivieren, für die eine Provision möglich ist, für Matter Geräte.
Wenn Ihre Anwendung einen eigenen Matter-Erkennungs- oder Inbetriebnahmeablauf bereitstellt, sollten Sie diese Benachrichtigungen unter Umständen unterdrücken, um Unterbrechungen zu vermeiden. Weitere Informationen finden Sie unter Mitteilungen zu Entdeckungen mit Provisionspotenzial unterdrücken.
Dienstprogramme für Entwickler
Auf dem Bildschirm „Einstellungen“ können Sie auch auf die Dienstprogramme für Entwickler zugreifen.
So rufen Sie den Inhalt der DataStore-Repositories für Geräte- und Nutzereinstellungen in Logcat auf:
Klicken Sie auf Inhalte von Repositories protokollieren.
Klicken Sie im Dialogfeld auf OK und setzen Sie ein Häkchen bei Logcat.
Feedback und Hilfe
Wenn du uns deine Meinung oder Feedback dazu geben möchtest, wie wir die Entwicklung mit Sample App for Matter verbessern können, fülle bitte unser Feedback-Formular aus.
Wenn Sie Probleme mit der Sample App for Matter haben, führen Sie die folgenden Schritte aus, um Ihre Umgebung zu prüfen:
Wenn Sie Fragen zur Verwendung der Beispiel-App haben oder einen Codefehler finden, können Sie Probleme im Issue Tracker im GitHub-Repository melden:
Offizielle Informationen von Google zu technischen Fragen finden Sie im Smart Home-Entwicklerforum:
Wenn Sie technischen Support von der Community benötigen, verwenden Sie das Tag google-smart-home
auf Stack Overflow: