Ta przykładowa aplikacja na iOS korzysta z interfejsów Google Home API. Z tego przewodnika dowiesz się, jak po raz pierwszy skompilować i uruchomić aplikację.
Wymagania wstępne
Upewnij się, że spełniasz minimalne wymagania dotyczące korzystania z interfejsów Home API na iOS.
Aby utworzyć i zainstalować przykładową aplikację, musisz mieć komputer z zainstalowanym Xcode w wersji 15.3 lub nowszej.
Aby przetestować aplikację, potrzebujesz:
- Konto Google.
- Identyfikator Apple ID zarejestrowany w programie Apple Developer Program, aby generować pliki konfiguracji urządzeń fizycznych. Jeśli nie zostało jeszcze utworzone, rejestracja wiąże się z dodatkowymi kosztami i może potrwać do 48 godzin.
- urządzenie z iOS (nie symulator) z systemem iOS 16.4 lub nowszym, na którym skonfigurowano konto testowe;
- sieć Wi-Fi,
- Centrum Google, które obsługuje interfejsy Home API.
- Thread Border Router (TBR), jeśli urządzenie wymaga protokołu Thread, a koncentrator nie obsługuje tej funkcji.
- co najmniej 1 obsługiwany typ urządzenia,
Do programowania potrzebujesz komputera Mac, który spełnia te wymagania:
- macOS Sonoma lub nowszy
- Xcode 15.3 lub nowszy,
Tworzenie plików konfiguracji wdrożenia Apple
Po pierwsze, aplikacja wymaga włączenia funkcji App Attest. W związku z tym nie można go wdrożyć na urządzeniach symulatora. Wymaga to utworzenia profilu obsługi administracyjnej z uprawnieniem App Attest.
Po drugie, wymaga włączenia grup aplikacji na potrzeby komunikacji między aplikacją a MatterExtension. Wymaga to zarejestrowania identyfikatora grupy aplikacji.
Więcej informacji o profilach udostępniania znajdziesz w artykule Tworzenie profilu udostępniania na potrzeby programistyczne w dokumentacji Apple.
Poniżej znajdziesz opis minimalnych kroków wymaganych do wdrożenia aplikacji:
- Utwórz identyfikator grupy aplikacji, aby aplikacja mogła komunikować się z
MatterExtension.- Zaloguj się w portalu dla programistów Apple.
- Dodaj identyfikator grupy aplikacji. Może on mieć na przykład format
group.com.company.commissioning.
- Zarejestruj urządzenie testowe na koncie dewelopera.
Utwórz profil dla celu aplikacji.
- Wybierz identyfikator pakietu aplikacji.
Powinien on być unikalny i opisowy. Może on mieć na przykład format
com.company.HomeApiSample. Ten identyfikator będzie używany w pozostałej części tej sekcji. - Zarejestruj identyfikator aplikacji. Gdy pojawi się prośba, dodaj funkcje App Attest i Grupy aplikacji.
Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups (Grupy aplikacji), aby dodać zarejestrowany identyfikator grupy aplikacji.
Utwórz profil obsługi administracyjnej na potrzeby programowania aplikacji. Powiąż go z nowo utworzonym identyfikatorem aplikacji i wybranymi urządzeniami testowymi. Upewnij się, że masz certyfikat dewelopera, którym możesz podpisać aplikację.
- Jeśli nie masz jeszcze takiego certyfikatu, instrukcje znajdziesz w artykule Tworzenie certyfikatów identyfikatora dewelopera.
- Wybierz identyfikator pakietu aplikacji.
Powinien on być unikalny i opisowy. Może on mieć na przykład format
Utwórz profil dla celu
MatterExtension.- Wybierz identyfikator pakietu aplikacji dla
MatterExtension. Identyfikator powinien być dziedziczony z identyfikatora aplikacji. Może mieć na przykład formatcom.company.HomeApiSample.MatterExtension. - Zarejestruj identyfikator aplikacji. Gdy pojawi się prośba, dodaj funkcję App Group (Grupa aplikacji).
- Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups (Grupy aplikacji), aby dodać zarejestrowany identyfikator grupy aplikacji utworzony w poprzednich krokach.
- Utwórz profil obsługi administracyjnej dla programistów dla aplikacji
MatterExtension.
- Wybierz identyfikator pakietu aplikacji dla
Generowanie identyfikatora klienta OAuth i włączanie interfejsów Home API
Aplikacja potrzebuje identyfikatora klienta OAuth, aby identyfikować się w backendzie uwierzytelniania Google. W przypadku aplikacji na iOS typ aplikacji identyfikatora klienta OAuth musi być skonfigurowany jako iOS. Aplikacja będzie też wywoływać interfejs Home API. Aby włączyć tę funkcję, musisz włączyć interfejs API w projekcie Google Cloud.
Generowanie identyfikatora klienta OAuth
- W konsoli Google Cloud otwórz panel selektora projektów i wybierz projekt, którego chcesz użyć do utworzenia danych uwierzytelniających OAuth.
- Otwórz stronę Interfejsy API i usługi, klikając przycisk menu w lewym górnym rogu > Wyświetl wszystkie usługi > Interfejsy API i usługi.
- W menu nawigacyjnym kliknij Dane logowania.
Jeśli nie masz jeszcze skonfigurowanego ekranu zgody w tym projekcie Google Cloud, pojawi się przycisk Skonfiguruj ekran zgody. W takim przypadku skonfiguruj ekran zgody, wykonując te czynności. Jeśli ekran zgody OAuth został już skonfigurowany, a jego stan publikacji to Testowanie, upewnij się, że konta testowe, których będziesz używać, zostały dodane do grupy Użytkownicy testowi. W przeciwnym razie przejdź do następnego kroku.
- W zależności od przypadku użycia wybierz Wewnętrzny lub Zewnętrzny, a następnie kliknij Utwórz. Pojawi się panel Ekran zgody OAuth.
- Wpisz informacje na stronie Informacje o aplikacji zgodnie z instrukcjami wyświetlanymi na ekranie, a następnie kliknij Zapisz i kontynuuj. Pojawi się panel Zakresy.
- Nie musisz dodawać żadnych zakresów, więc kliknij Zapisz i kontynuuj. Pojawi się panel Użytkownicy testowi.
- Jeśli zdecydujesz się utworzyć wewnętrzny ekran zgody, musisz dodać użytkowników, aby przetestować dostęp do aplikacji. Kliknij Dodaj użytkowników. Pojawi się panel Dodaj użytkowników. Użytkownicy testowi mają uprawnienia do przyznawania uprawnień w Twojej aplikacji. W pustym polu dodaj co najmniej 1 adres e-mail konta Google, a następnie kliknij Dodaj.
- Kliknij Zapisz i kontynuuj. Pojawi się panel Podsumowanie.
- Sprawdź informacje na ekranie zgody OAuth, a następnie kliknij Wróć do panelu.
W panelu menu po lewej stronie kliknij Dane logowania, aby utworzyć identyfikator klienta OAuth.

- Kliknij przycisk UTWÓRZ DANE LOGOWANIA i wybierz Identyfikator klienta OAuth.
- W sekcji Typ aplikacji wybierz iOS.
- Wpisz identyfikator pakietu z identyfikatorem aplikacji i identyfikatorem zespołu Apple Developer. Pozostałe pola są opcjonalne i można je pozostawić puste.
- Kliknij UTWÓRZ i zapisz utworzony identyfikator klienta lub kliknij POBIERZ PLIST. Będzie on później używany do włączania funkcji przepływu uprawnień. Więcej informacji znajdziesz w sekcji Tworzenie danych uwierzytelniających.
- Kliknij przycisk UTWÓRZ DANE LOGOWANIA i wybierz Identyfikator klienta OAuth.
Włączanie interfejsów Home API
Włącz dostęp do interfejsów Home API.
- Na karcie Interfejsy API i usługi kliknij Włączone interfejsy API i usługi.
- U góry strony kliknij WŁĄCZ INTERFEJSY API I USŁUGI.
- Wyszukaj i wybierz
HOME API. - Na stronie z informacjami Home API kliknij WŁĄCZ.
Pobieranie kodu źródłowego
Kod źródłowy przykładowej aplikacji jest dostępny na GitHubie.
Przejdź do miejsca, w którym chcesz zapisać projekt, a następnie sklonuj go:
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitAby wczytać projekt w Xcode, kliknij File (Plik) > Open (Otwórz) i wybierz GoogleHomeAPISampleIOS.xcodeproj w głównym katalogu sklonowanego repozytorium.
Dodaj pakiet SDK do projektu
Projekt przykładowej aplikacji wymaga dodatkowych informacji, aby można było go utworzyć. Obejmuje to lokalne dodanie plików platformy SDK, podanie informacji o identyfikatorze konta dewelopera i podanie identyfikatora klienta OAuth.
Tworzenie aplikacji
Aby pobrać pakiet SDK Home APIs na iOS, musisz najpierw zalogować się w Google Home Developers.
Skonfiguruj projekt Xcode dla przykładowej aplikacji:
- Rozpakuj pobrany pakiet SDK do katalogu
ThirdParty/GoogleHomeSDKwzględem katalogu głównego projektu. - Skonfiguruj identyfikatory dewelopera i klienta OAuth:
- W panelu nawigacji znajdź folder GoogleHomeAPISampleIOS i otwórz plik Info.plist do edycji.
W pliku Info.plist wypełnij pole GIDClientID identyfikatorem klienta OAuth (patrz sekcja Konfigurowanie zgody OAuth), pole Cloud Project Number numerem projektu w chmurze, a pole GIDTeamID identyfikatorem Apple Developer Team ID konta dewelopera użytego podczas procesu rejestracji OAuth.
Dodaj funkcję App Attest:
- W panelu nawigacji Xcode wybierz plik projektu
GoogleHomeAPISampleIOS, aby edytować konfigurację projektu. - U góry kliknij kartę Signing and Capabilities (Podpisywanie i funkcje), a po lewej stronie w sekcji TARGETS (Cele) wybierz cel
GoogleHomeAPISampleIOS. - Tuż pod kartą Signing and Capabilities (Podpisywanie i funkcje) kliknij + Capability (+ Funkcja) i wyszukaj App Attest.
- Kliknij App Attest, aby dodać tę usługę. Jeśli nie widzisz tej funkcji w wynikach wyszukiwania, być może została już dodana do projektu.
- W panelu nawigacji Xcode wybierz plik projektu
Dodaj funkcję App Groups (Grupy aplikacji).

- Otwórz projekt GoogleHomeAPISampleIOS > cel GoogleHomeAPISampleIOS.
- Kliknij Signing & Capabilities (Podpisywanie i funkcje) > + Capability (+ Funkcja).
- Wybierz funkcję Grupy aplikacji.
- Kliknij ikonę + w sekcji App Groups (Grupy aplikacji) i dodaj identyfikator grupy aplikacji, który został dodany w portalu Apple Developer Portal.
- Powtórz te czynności w przypadku celu MatterAddDeviceExtension, aby dodać go do grup aplikacji.
Zaktualizuj identyfikator pakietu.
- Aby pomyślnie uruchomić i wdrożyć przykładową aplikację na sprzęcie przy użyciu certyfikatów dewelopera i profili obsługi administracyjnej, musisz podać unikalny identyfikator pakietu. Powinien być taki sam jak identyfikator powiązany z Twoimi danymi logowania klienta OAuth (patrz wyżej).
- W panelu nawigacji Xcode wybierz plik projektu
GoogleHomeAPISampleIOS, aby edytować konfigurację projektu. - U góry kliknij kartę Signing and Capabilities (Podpisywanie i funkcje), a po lewej stronie w sekcji TARGETS (Cele) wybierz cel
GoogleHomeAPISampleIOS. - Wybierz pole Bundle Identifier (Identyfikator pakietu) w sekcji Signing (Podpisywanie) i wpisz unikalny identyfikator aplikacji.
- Wybierz lub zainstaluj profil obsługi administracyjnej powiązany z tym pakietem i zawierający wymagane uprawnienia.
- Powtórz te czynności w przypadku celu
MatterAddDeviceExtension, aby wpisać identyfikator pakietu rozszerzenia i zaimportować zarejestrowany profil obsługi administracyjnej.
Zaktualizuj zarejestrowany identyfikator grupy aplikacji w kodzie.
- Aplikacja musi skonfigurować instancję pakietu SDK, aby korzystać z identyfikatora grupy aplikacji w przypadku funkcji takich jak uruchamianie urządzenia. Zaktualizuj aplikację, aby używać identyfikatora grupy aplikacji zarejestrowanego w portalu dla deweloperów Apple. W tym celu wyszukaj ciąg
HOME_API_TODO_ADD_APP_GROUPi zastąp nim każde wystąpienie.
Te konfiguracje są wprowadzane w tych plikach:
GoogleHomeAPISampleIOS.swiftpo zainicjowaniu pakietu SDK.RequestHandler.swiftCommissioningManager.swift
- Aplikacja musi skonfigurować instancję pakietu SDK, aby korzystać z identyfikatora grupy aplikacji w przypadku funkcji takich jak uruchamianie urządzenia. Zaktualizuj aplikację, aby używać identyfikatora grupy aplikacji zarejestrowanego w portalu dla deweloperów Apple. W tym celu wyszukaj ciąg
Skonfiguruj zakres protokołu OAuth w
GoogleHomeAPISampleIOS.swift. Domyślnie kod źródłowy przykładowej aplikacji używa zakresuhttps://www.googleapis.com/auth/home.platform.v2. Wiele funkcji w przykładowej aplikacji jest ograniczonych zakresemhome.platform.v2i wymaga zgody partnera na dostęp. Aby uruchomić przykładową aplikację ze standardowym zakresemhttps://www.googleapis.com/auth/home.platform.selected.devices, otwórzGoogleHomeAPISampleIOS.swifti zmieńhomePlatformOAuthScopewHome.configurenaHomePlatformOAuthScope.v1:Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }