Ta przykładowa aplikacja na iOS korzysta z interfejsów Google Home API. Z tego przewodnika dowiesz się, jak po raz pierwszy utworzyć 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ę, potrzebujesz komputera z zainstalowanym Xcode w wersji 15.3 lub nowszej.
Aby przetestować aplikację, potrzebujesz:
- Konta Google.
- Apple ID zarejestrowanego w programie Apple Developer Program aby wygenerować pliki konfiguracyjne urządzenia fizycznego. Jeśli nie masz jeszcze konta, rejestracja wiąże się z dodatkowymi kosztami i może potrwać do 48 godzin.
- Urządzenia z iOS (nie symulatora) z systemem iOS 16.4 lub nowszym skonfigurowanego za pomocą konta testowego.
- Sieci Wi-Fi.
- Huba Google, który obsługuje interfejsy Home API.
- Routera granicznego Thread, jeśli urządzenie wymaga Thread, a hub nie ma tej funkcji.
- Co najmniej 1 obsługiwanego typu 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 konfiguracyjnych wdrożenia Apple
Po pierwsze, aplikacja wymaga włączenia funkcji App Attest. W związku z tym nie można jej wdrożyć na urządzeniach symulatora. Wymaga to utworzenia profilu aprowizacji z uprawnieniem App Attest.
Po drugie, do komunikacji między aplikacją a MatterExtension wymagane jest włączenie grup aplikacji. Wymaga to zarejestrowania identyfikatora grupy aplikacji.
Więcej informacji znajdziesz w artykule Apple Tworzenie profilu aprowizacji dewelopera.
Poniżej znajdziesz minimalne kroki wymagane do wdrożenia aplikacji:
- Utwórz identyfikator grupy aplikacji, aby aplikacja mogła komunikować się z
MatterExtension.- Zaloguj się w portalu Apple Developer.
- Dodaj identyfikator grupy aplikacji. Może on mieć na przykład format
group.com.company.commissioning.
- Zarejestruj urządzenie testowe na koncie dewelopera account.
Utwórz profil dla docelowej 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 App Groups.
Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups , aby dodać zarejestrowany identyfikator grupy aplikacji.
Utwórz profil aprowizacji dewelopera na potrzeby tworzenia aplikacji. Powiąż go z nowo utworzonym identyfikatorem aplikacji i wybranymi urządzeniami testowymi. Upewnij się, że masz certyfikat dewelopera, za pomocą którego możesz podpisać aplikację.
- Jeśli jeszcze go nie masz, 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 docelowego
MatterExtension.- Wybierz identyfikator pakietu aplikacji dla
MatterExtension. Identyfikator powinien być dziedziczony z identyfikatora aplikacji. Może on mieć na przykład formatcom.company.HomeApiSample.MatterExtension. - Zarejestruj identyfikator aplikacji. Gdy pojawi się prośba, dodaj funkcję App Group.
- Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups , aby dodać zarejestrowany identyfikator grupy aplikacji utworzony w poprzednich krokach.
- Utwórz profil aprowizacji dewelopera
dla
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 iOS i aplikacji typ aplikacji z identyfikatorem klienta OAuth musi być skonfigurowany jako iOS. Aplikacja będzie też wywoływać interfejs Home API. Aby włączyć tę funkcję, interfejs API musi być włączony w projekcie Google Cloud.
Generowanie identyfikatora klienta OAuth
- W konsoli Google Cloud otwórz panel wyboru projektu dashboard i wybierz projekt, którego chcesz użyć do utworzenia danych logowania 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 dla tego projektu 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 publikowania to Testowanie, upewnij się, że konta testowe, których będziesz używać, są 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. Wyświetli się panel Ekran zgody OAuth.
- Na stronie Informacje o aplikacji wpisz informacje zgodnie z instrukcjami wyświetlanymi na ekranie, a następnie kliknij Zapisz i kontynuuj. Wyświetli się panel Zakresy.
- Nie musisz dodawać żadnych zakresów, więc kliknij Zapisz i kontynuuj. Wyświetli 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. Wyświetli 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. Wyświetli 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 Apple Developer identyfikator zespołu. Pozostałe pola są opcjonalne i można je pozostawić puste.
- Kliknij UTWÓRZ i zapisz utworzony Identyfikator klienta lub POBIERZ PLIK 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
HOME APIi wybierz go. - Na stronie szczegółów 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 go sklonuj:
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitAby wczytać projekt w Xcode, kliknij Plik > Otwórz i wybierz
GoogleHomeAPISampleIOS.xcodeproj w katalogu głównym sklonowanego repozytorium.
Dodawanie pakietu SDK do projektu
Aby utworzyć projekt przykładowej aplikacji, musisz dodać do niego kilka dodatkowych informacji. Obejmuje to lokalne dodanie plików pakietu SDK, wypełnienie informacji o identyfikatorze konta dewelopera i wypełnienie identyfikatora klienta OAuth.
Tworzenie aplikacji
Aby pobrać pakiet SDK interfejsów Home API na iOS, musisz najpierw zalogować się w Google Home Developers.
Skonfiguruj projekt Xcode na potrzeby przykładowej aplikacji:
- Rozpakuj pobrany pakiet SDK do katalogu
ThirdParty/GoogleHomeSDKwzględem katalogu głównego projektu. - Skonfiguruj identyfikatory dewelopera i klienta OAuth:
- W panelu nawigacyjnym 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), Cloud Project Number odpowiadającym Twojemu projektowi w chmurze oraz GIDTeamID identyfikatorem zespołu Apple Developer konta dewelopera używanego podczas procesu rejestracji OAuth.
Dodaj funkcję App Attest:
- W panelu nawigacyjnym Xcode wybierz plik projektu
GoogleHomeAPISampleIOS, aby edytować konfigurację projektu. - U góry kliknij kartę Podpisywanie i funkcje i po lewej stronie w sekcji CELE wybierz cel
GoogleHomeAPISampleIOS. - Tuż pod kartą Podpisywanie i funkcje kliknij + Funkcja i wyszukaj App Attest.
- Kliknij App Attest , aby dodać. Jeśli tej funkcji nie ma w wynikach wyszukiwania, projekt mógł już ją dodać.
- W panelu nawigacyjnym Xcode wybierz plik projektu
Dodaj funkcję App Groups.

- Otwórz projekt GoogleHomeAPISampleIOS > cel GoogleHomeAPISampleIOS.
- Kliknij Podpisywanie i funkcje > + Funkcja.
- Wybierz funkcję App Groups.
- Kliknij ikonę + w sekcji App Groups i dodaj identyfikator grup aplikacji dla aplikacji, który został dodany w portalu Apple Developer.
- Powtórz te czynności w przypadku celu MatterAddDeviceExtension , aby dodać go do App Groups.
Zaktualizuj identyfikator pakietu.
- Aby pomyślnie uruchomić i wdrożyć przykładową aplikację na sprzęcie przy użyciu certyfikatów dewelopera i profili aprowizacji, musisz podać unikalny identyfikator pakietu. Powinien to być ten sam identyfikator, który jest powiązany z danymi logowania klienta OAuth (patrz wyżej).
- W panelu nawigacyjnym Xcode wybierz plik projektu
GoogleHomeAPISampleIOS, aby edytować konfigurację projektu. - U góry kliknij kartę Podpisywanie i funkcje i po lewej stronie w sekcji CELE wybierz cel
GoogleHomeAPISampleIOS. - W sekcji Podpisywanie wybierz pole Identyfikator pakietu i wpisz unikalny identyfikator aplikacji.
- Wybierz lub zainstaluj profil aprowizacji powiązany z tym pakietem z wymaganymi uprawnieniami.
- Powtórz te czynności w przypadku celu
MatterAddDeviceExtension, aby wpisać identyfikator pakietu rozszerzenia i zaimportować jego zarejestrowany profil aprowizacji.
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 korzystała z identyfikatora grupy aplikacji zarejestrowanego w portalu Apple Developer. W tym celu wyszukaj ciąg znaków
HOME_API_TODO_ADD_APP_GROUPi zastąp każde jego wystąpienie.
Te konfiguracje są wprowadzane w tych plikach:
GoogleHomeAPISampleIOS.swiftpodczas inicjowania 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 korzystała z identyfikatora grupy aplikacji zarejestrowanego w portalu Apple Developer. W tym celu wyszukaj ciąg znaków