Diese iOS-Beispielanwendung verwendet die Google Home APIs. In dieser Anleitung erfahren Sie, wie Sie die App zum ersten Mal erstellen und ausführen.
Vorbereitung
Prüfe, ob du die Mindestanforderungen für die Verwendung der Home APIs für iOS erfüllst.
Zum Erstellen und Installieren der Beispiel-App benötigen Sie einen Computer mit Xcode Version 15.3 oder höher.
Zum Testen der App benötigen Sie Folgendes:
- Ein Google-Konto
- Eine Apple-ID, die im Apple Developer Program registriert ist, um Konfigurationsdateien für physische Geräte zu generieren. Falls noch nicht erstellt, fallen für die Registrierung zusätzliche Kosten an und es kann bis zu 48 Stunden dauern, bis sie abgeschlossen ist.
- Ein iOS-Gerät (kein Simulator) mit iOS 16.4 oder höher, das mit dem Testkonto eingerichtet ist.
- Ein WLAN.
- Einen Google-Hub, der die Home APIs unterstützt.
- Thread Border Router (TBR), wenn dein Gerät Thread benötigt und dein Hub diese Funktion nicht hat.
- Mindestens ein unterstützter Gerätetyp.
Für die Entwicklung benötigen Sie einen Mac, der die folgenden Anforderungen erfüllt:
- macOS Sonoma oder höher
- Xcode 15.3 oder höher
Apple-Bereitstellungskonfigurationsdateien erstellen
Erstens muss für eine App die Funktion App Attest aktiviert sein. Daher kann sie nicht auf Simulatorgeräten bereitgestellt werden. Dazu müssen Sie ein Bereitstellungsprofil mit der Berechtigung App Attest erstellen.
Zweitens müssen die App-Gruppen für die Kommunikation zwischen der App und dem MatterExtension aktiviert sein. Dazu müssen Sie eine App-Gruppen-ID registrieren.
Weitere Informationen zu Bereitstellungsprofilen finden Sie im Apple-Artikel Create a development provisioning profile.
Im Folgenden werden die Mindestanforderungen für die Bereitstellung einer App beschrieben:
- Erstelle eine App-Gruppen-ID, damit deine App mit der
MatterExtensionkommunizieren kann.- Melden Sie sich im Apple Developer Portal an.
- Fügen Sie eine App-Gruppen-ID hinzu. Sie könnte beispielsweise als
group.com.company.commissioningformatiert sein.
- Registrieren Sie Ihr Testgerät im Entwicklerkonto.
Erstellen Sie ein Profil für Ihr App-Ziel.
- Legen Sie einen Paket-Identifikator für Ihre App fest. Der Identifikator sollte eindeutig und aussagekräftig sein. Sie könnte beispielsweise als
com.company.HomeApiSampleformatiert sein. Diese Kennung wird im restlichen Abschnitt verwendet. - Registrieren Sie Ihre App-ID. Fügen Sie die Funktionen App Attest und App Groups hinzu, wenn Sie dazu aufgefordert werden.
Bearbeiten Sie die neu erstellte App-ID und konfigurieren Sie die Funktion App-Gruppen, um die registrierte App-Gruppenkennung hinzuzufügen.
Erstellen Sie ein Entwicklungs-Bereitstellungsprofil für Ihre App-Entwicklung. Verknüpfen Sie sie mit Ihrer neu erstellten App-ID und den ausgewählten Testgeräten. Sie benötigen ein Entwicklerzertifikat, um die App zu signieren.
- Wenn Sie noch kein Zertifikat erstellt haben, finden Sie eine Anleitung unter Developer ID-Zertifikate erstellen.
- Legen Sie einen Paket-Identifikator für Ihre App fest. Der Identifikator sollte eindeutig und aussagekräftig sein. Sie könnte beispielsweise als
Erstellen Sie ein Profil für Ihr
MatterExtension-Ziel.- Legen Sie einen Paket-Identifikator für Ihre
MatterExtensionfest. Die Kennung sollte von der App-Kennung übernommen werden. Beispiel:com.company.HomeApiSample.MatterExtension. - Registrieren Sie Ihre App-ID. Fügen Sie die Funktion App-Gruppe hinzu, wenn Sie dazu aufgefordert werden.
- Bearbeiten Sie die neu erstellte App-ID und konfigurieren Sie die Funktion App Groups (App-Gruppen), um die registrierte App-Gruppenkennung hinzuzufügen, die Sie in den vorherigen Schritten erstellt haben.
- Erstellen Sie ein Entwicklungs-Bereitstellungsprofil für
MatterExtension.
- Legen Sie einen Paket-Identifikator für Ihre
OAuth-Client-ID generieren und Home APIs aktivieren
Ihre App benötigt eine OAuth-Client-ID, um sich beim Authentifizierungs-Backend von Google zu identifizieren. Für iOS und Apps muss der Anwendungstyp der OAuth-Client-ID als iOS konfiguriert sein. Die App ruft auch die Home API auf. Damit diese Funktion aktiviert werden kann, muss die API im Projekt Google Cloud aktiviert sein.
OAuth-Client-ID generieren
- Rufen Sie in der Google Cloud Console das Dashboard für die Projektauswahl auf und wählen Sie das Projekt aus, mit dem Sie OAuth-Anmeldedaten erstellen möchten.
- Rufen Sie die Seite „APIs und Dienste“ auf, indem Sie links oben auf die Menüschaltfläche > Alle Produkte ansehen > APIs und Dienste klicken.
- Klicken Sie im Navigationsmenü auf Anmeldedaten.
Wenn Sie den Zustimmungsbildschirm für dieses Google Cloud-Projekt noch nicht konfiguriert haben, wird die Schaltfläche Zustimmungsbildschirm konfigurieren angezeigt. Konfigurieren Sie in diesem Fall den Zustimmungsbildschirm mit dem folgenden Verfahren. Wenn Ihr OAuth-Zustimmungsbildschirm bereits konfiguriert ist und der Veröffentlichungsstatus Test lautet, müssen die Testkonten, die Sie verwenden möchten, der Gruppe Testnutzer hinzugefügt werden. Fahre andernfalls mit dem nächsten Schritt fort.
- Wählen Sie je nach Anwendungsfall Intern oder Extern aus und klicken Sie dann auf Erstellen. Der Bereich OAuth-Zustimmungsbildschirm wird angezeigt.
- Geben Sie auf der Seite App-Informationen die Informationen gemäß der Anleitung auf dem Bildschirm ein und klicken Sie dann auf Speichern und fortfahren. Der Bereich „Bereiche“ wird angezeigt.
- Sie müssen keine Bereiche hinzufügen. Klicken Sie also auf Speichern und fortfahren. Der Bereich Testnutzer wird angezeigt.
- Wenn Sie einen internen Zustimmungsbildschirm erstellt haben, müssen Sie Nutzer hinzufügen, um den Zugriff auf Ihre App zu testen. Klicken Sie auf Nutzer hinzufügen. Der Bereich Nutzer hinzufügen wird angezeigt. Testnutzer haben die Berechtigung, in Ihrer App Berechtigungen zu erteilen. Fügen Sie im leeren Feld eine oder mehrere E-Mail-Adressen von Google-Konten hinzu und klicken Sie dann auf Hinzufügen.
- Klicken Sie auf Speichern und fortfahren. Der Bereich Zusammenfassung wird angezeigt.
- Prüfen Sie die Informationen auf dem OAuth-Zustimmungsbildschirm und klicken Sie dann auf Zurück zum Dashboard.
Klicken Sie im Menü auf der linken Seite auf Anmeldedaten, um Ihre OAuth-Client-ID zu erstellen.

- Klicken Sie auf den Button ANMELDEDATEN ERSTELLEN und wählen Sie OAuth-Client-ID aus.
- Wählen Sie unter Anwendungstyp die Option iOS aus.
- Geben Sie die Paket-ID mit Ihrer App-ID und der Apple Developer Team-ID ein. Die anderen Felder sind optional und können leer gelassen werden.
- Klicken Sie auf ERSTELLEN und notieren Sie sich die erstellte Client-ID oder klicken Sie auf PLIST HERUNTERLADEN. Diese wird später verwendet, um die Berechtigungsablauf-Funktion zu aktivieren. Weitere Informationen finden Sie im Abschnitt Anmeldedaten für die Autorisierung erstellen.
- Klicken Sie auf den Button ANMELDEDATEN ERSTELLEN und wählen Sie OAuth-Client-ID aus.
Home APIs aktivieren
Zugriff auf die Home APIs aktivieren
- Klicken Sie auf dem Tab APIs und Dienste auf Aktivierte APIs und Dienste.
- Klicken Sie oben auf der Seite auf APIs und Dienste aktivieren.
- Suchen Sie nach
HOME APIund wählen Sie es aus. - Klicken Sie auf der Detailseite der Home API auf AKTIVIEREN.
Quellcode herunterladen
Der Quellcode für die Beispiel-App ist auf GitHub verfügbar.
Wechseln Sie zu dem Speicherort, an dem Sie das Projekt speichern möchten, und klonen Sie es:
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitKlicken Sie zum Laden des Projekts in Xcode auf Datei > Öffnen und wählen Sie im Stammverzeichnis des geklonten Repositorys GoogleHomeAPISampleIOS.xcodeproj aus.
SDK zum Projekt hinzufügen
Für das Beispiel-App-Projekt sind einige zusätzliche Informationen erforderlich, damit es erstellt werden kann. Dazu gehören das lokale Hinzufügen der SDK-Framework-Dateien, das Ausfüllen der Informationen zur Kennung Ihres Entwicklerkontos und das Ausfüllen Ihrer OAuth-Client-ID.
Anwendung erstellen
Wenn du das iOS SDK für die Home APIs herunterladen möchtest, musst du dich zuerst bei Google Home Developers anmelden.
Konfigurieren Sie Ihr Xcode-Projekt für die Beispiel-App:
- Entpacken Sie das heruntergeladene SDK in das Verzeichnis
ThirdParty/GoogleHomeSDKrelativ zum Stammverzeichnis des Projekts. - Konfigurieren Sie die Entwickler- und OAuth-Client-IDs:
- Suchen Sie im Navigationsbereich nach dem Ordner GoogleHomeAPISampleIOS und öffnen Sie die Datei Info.plist zur Bearbeitung.
Geben Sie in der Datei Info.plist die GIDClientID mit Ihrer OAuth-Client-ID (siehe Abschnitt OAuth-Einwilligung einrichten), die Cloud Project Number für Ihr Cloud-Projekt und die GIDTeamID mit der Apple Developer Team ID des Entwicklerkontos ein, das bei der OAuth-Registrierung verwendet wurde.
App Attest-Funktion hinzufügen:
- Wählen Sie im Xcode-Navigationsbereich die Projektdatei
GoogleHomeAPISampleIOSaus, um die Projektkonfiguration zu bearbeiten. - Klicken Sie oben auf den Tab Signing and Capabilities (Signierung und Funktionen) und wählen Sie links im Bereich TARGETS (ZIELE) das Ziel
GoogleHomeAPISampleIOSaus. - Klicken Sie direkt unter dem Tab „Signing and Capabilities“ (Signierung und Funktionen) auf + Capability (+ Funktion) und suchen Sie nach App Attest.
- Klicken Sie auf App Attest, um die Funktion hinzuzufügen. Wenn diese Funktion in der Suche fehlt, wurde sie möglicherweise bereits dem Projekt hinzugefügt.
- Wählen Sie im Xcode-Navigationsbereich die Projektdatei
Fügen Sie die Funktion App Groups hinzu.

- Rufen Sie das Projekt GoogleHomeAPISampleIOS > Ziel GoogleHomeAPISampleIOS auf.
- Klicken Sie auf Signing & Capabilities (Signierung und Funktionen) > + Capability (+ Funktion).
- Wählen Sie die Funktion App-Gruppen aus.
- Klicken Sie unter App-Gruppen auf das +-Symbol und fügen Sie die App-Gruppen-ID für Ihre App hinzu, die Sie im Apple Entwicklerportal hinzugefügt haben.
- Wiederholen Sie diese Schritte für das Ziel MatterAddDeviceExtension, um es den App-Gruppen hinzuzufügen.
Paket-Identifikator aktualisieren
- Damit die Beispiel-App mit Ihren Entwicklerzertifikaten und Bereitstellungsprofilen auf Hardware ausgeführt und bereitgestellt werden kann, müssen Sie einen eindeutigen Paket-Identifikator angeben. Dies sollte dieselbe Kennung sein, die mit Ihren OAuth-Client-Anmeldedaten verknüpft ist (siehe oben).
- Wählen Sie im Xcode-Navigationsbereich die Projektdatei
GoogleHomeAPISampleIOSaus, um die Projektkonfiguration zu bearbeiten. - Klicken Sie oben auf den Tab Signing and Capabilities (Signierung und Funktionen) und wählen Sie links im Bereich TARGETS (ZIELE) das Ziel
GoogleHomeAPISampleIOSaus. - Wählen Sie im Bereich Signing (Signieren) das Feld „Bundle Identifier“ (Paket-Identifikator) aus und geben Sie die eindeutige Kennung für die Anwendung ein.
- Wählen Sie das Bereitstellungsprofil für dieses Bundle mit den erforderlichen Berechtigungen aus oder installieren Sie es.
- Wiederholen Sie diese Schritte für das Ziel
MatterAddDeviceExtension, um den Paket-Identifikator für die Erweiterung einzugeben und das registrierte Bereitstellungsprofil zu importieren.
Aktualisieren Sie die registrierte App-Gruppen-ID im Code.
- Die Anwendung muss die SDK-Instanz so konfigurieren, dass die App-Gruppen-ID für Funktionen wie die Geräteinbetriebnahme verwendet wird. Aktualisieren Sie die App, um die im Apple Developer Portal registrierte App-Gruppen-ID zu verwenden. Suchen Sie dazu nach dem String
HOME_API_TODO_ADD_APP_GROUPund ersetzen Sie jede Instanz durch ihn.
Diese Konfigurationen werden in den folgenden Dateien vorgenommen:
GoogleHomeAPISampleIOS.swift, wenn das SDK initialisiert wird.RequestHandler.swiftCommissioningManager.swift
- Die Anwendung muss die SDK-Instanz so konfigurieren, dass die App-Gruppen-ID für Funktionen wie die Geräteinbetriebnahme verwendet wird. Aktualisieren Sie die App, um die im Apple Developer Portal registrierte App-Gruppen-ID zu verwenden. Suchen Sie dazu nach dem String
Konfigurieren Sie den OAuth-Bereich in
GoogleHomeAPISampleIOS.swift. Standardmäßig wird im Quellcode der Beispiel-App der Bereichhttps://www.googleapis.com/auth/home.platform.v2verwendet. Viele Funktionen in der Beispiel-App sind durch den Bereichhome.platform.v2geschützt und erfordern die Genehmigung des Partners, um darauf zuzugreifen. Wenn Sie die Beispiel-App mit dem Standardbereichhttps://www.googleapis.com/auth/home.platform.selected.devicesausführen möchten, öffnen SieGoogleHomeAPISampleIOS.swiftund ändern SiehomePlatformOAuthScopeinHome.configureinHomePlatformOAuthScope.v1:Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }