Ta przykładowa aplikacja na iOS korzysta z interfejsów API Google Home. Z tego przewodnika dowiesz się, jak skompilować i uruchomić aplikację po raz pierwszy.
Wymagania wstępne
Sprawdź, czy spełniasz minimalne wymagania dotyczące korzystania z interfejsów API Home na iOS.
Aby skompilować i zainstalować przykładową aplikację, musisz mieć komputer z zainstalowaną wersją Xcode 15.3 lub nowszą.
Aby przetestować aplikację, musisz mieć:
- Konto Google.
- Apple ID zarejestrowany w programie dla deweloperów Apple, aby generować pliki konfiguracji urządzeń fizycznych. Jeśli nie zostało jeszcze utworzone, za jego utworzenie zostanie naliczona dodatkowa opłata, a cała procedura może potrwać do 48 godzin.
- urządzenie z iOS (nie symulator) w wersji 16.4 lub nowszej z kontem testowym skonfigurowanym na potrzeby testów;
- sieć Wi-Fi,
- Konsola Google obsługująca interfejsy API Home.
- routera granicznego Thread, jeśli urządzenie wymaga tej technologii, a hub jej nie obsługuje.
- co najmniej 1 obsługiwany typ urządzenia.
Do tworzenia aplikacji potrzebny jest Mac, który spełnia te wymagania:
- macOS 10.13 lub nowszy
- Xcode 15.3 lub nowsza
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. W tym celu musisz utworzyć profil obsługi administracyjnej z uprawnieniami App Attest.
Po drugie, wymaga to włączenia grup aplikacji, aby umożliwić komunikację między aplikacją a MatterExtension
. W tym celu musisz zarejestrować identyfikator grupy aplikacji.
Więcej informacji znajdziesz w artykule Tworzenie profilu zaopatrzenia na potrzeby programowania na temat profili zaopatrzenia.
Poniżej znajdziesz opis minimalnych kroków wymaganych do wdrożenia aplikacji:
- Utwórz identyfikator grupy aplikacji, aby Twoja aplikacja mogła komunikować się z usługą
MatterExtension
.- Zaloguj się w portalu dewelopera Apple.
- Dodaj identyfikator grupy aplikacji. Może ono mieć na przykład format
group.com.company.commissioning
.
- Zarejestruj urządzenie testowe na koncie programisty.
Utwórz profil dla grupy docelowej aplikacji.
- Wybierz identyfikator pakietu aplikacji. Identyfikator powinien być unikalny i opisowy. Może ono mieć na przykład format
com.company.HomeApiSample
. Ten identyfikator będzie używany w dalszej części tej sekcji. - Zarejestruj identyfikator aplikacji. Gdy pojawi się odpowiedni komunikat, dodaj funkcję App Attest i App Groups.
Zmień utworzony identyfikator aplikacji i skonfiguruj uprawnienie Grupy aplikacji, aby dodać zarejestrowany identyfikator grupy aplikacji.
Utwórz profil udostępniania na potrzeby programowania. Powiązaj 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 certyfikatu, zapoznaj się z instrukcjami dotyczącymi tworzenia certyfikatów identyfikatora dewelopera.
- Wybierz identyfikator pakietu aplikacji. Identyfikator powinien być unikalny i opisowy. Może ono mieć na przykład format
Utwórz profil 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ę odpowiedni komunikat, dodaj funkcję grupy aplikacji.
- Zmień utworzony identyfikator aplikacji i skonfiguruj funkcję Grupy aplikacji, aby dodać zarejestrowany identyfikator grupy aplikacji utworzony w poprzednich krokach.
- Utwórz profil obsługi administracyjnej w wersji deweloperskiej
MatterExtension
.
- Wybierz identyfikator pakietu aplikacji dla
Generowanie identyfikatora klienta OAuth i włączanie interfejsów API Home
Aplikacja potrzebuje identyfikatora klienta OAuth, aby zidentyfikować się na zapleczu uwierzytelniania Google. W przypadku iOS i aplikacji identyfikator klienta OAuth musi być skonfigurowany jako iOS. Aplikacja będzie też wykonywać wywołania interfejsu 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 sterowania selektorem 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, korzystając z tej procedury. Jeśli ekran akceptacji OAuth został już skonfigurowany, a jego stan publikowania 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 z informacjami o aplikacji zgodnie z instrukcjami wyświetlanymi na ekranie, a potem kliknij Zapisz i kontynuuj. Pojawi się panel Zakresy.
- Nie musisz dodawać żadnych zakresów, więc kliknij Zapisz i kontynuuj. Wyświetli się panel Testowi użytkownicy.
- Jeśli zdecydujesz się utworzyć wewnętrzny ekran zgody, musisz dodać użytkowników, którzy przetestują 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 aplikacji. W pustym polu dodaj co najmniej 1 adres e-mail konta Google, a potem kliknij Dodaj.
- Kliknij Zapisz i kontynuuj. Pojawi się panel Podsumowanie.
- Zapoznaj się z informacjami na ekranie zgody OAuth, a potem kliknij Wróć do panelu.
Aby utworzyć identyfikator klienta OAuth, w panelu menu po lewej stronie kliknij Dane logowania.
- 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 programistów Apple. 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 używany później do włączenia 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łącz interfejsy API Home
Włącz dostęp do interfejsów API Home.
- 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 API
i wybierz ją. - 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 potem go sklonuj:
git clone https://github.com/google-home/google-home-api-sample-app-ios.git
Aby załadować projekt w Xcode, kliknij Plik > Otwórz i w katalogu głównym klonowanego repozytorium wybierz GoogleHomeAPISampleIOS.xcodeproj
.
Konfigurowanie pakietu SDK
Aby skompilować przykładowy projekt aplikacji, musisz podać dodatkowe informacje. Obejmuje to dodanie plików ramowego pakietu SDK na komputerze lokalnym, wypełnienie informacji o identyfikatorze konta dewelopera i wypełnienie identyfikatora klienta OAuth.
Kompilowanie aplikacji
Aby pobrać pakiet SDK interfejsów API Home na iOS, musisz najpierw zalogować się w Google jako deweloper Home.
Skonfiguruj projekt Xcode na potrzeby przykładowej aplikacji:
Aby edytować konfigurację projektu, w panelu nawigacyjnym Xcode wybierz plik
GoogleHomeAPISampleIOS
.U góry kliknij kartę Ogólne, a po lewej stronie wybierz docelowe
GoogleHomeAPISampleIOS
.Przewiń w dół do sekcji Frameworki, biblioteki i osadzone treści. Powinny być widoczne 2 platformy interfejsu API Home.
W kolumnie Umieść wybierz Umieść i podpisz dla
GoogleHomeSDK.xcframework
. Drugi framework,GoogleHomeTypes.xcframework
, powinien mieć ustawioną opcję Nie wklejać.U dołu listy kliknij ikonę +.
Gdy pojawi się odpowiedni komunikat, wyszukaj
SafariServices.framework
i kliknij Dodaj. Sprawdź, czy w kolumnie Wstawianie dla tego wpisu jest ustawiona opcja Nie wstawiaj.Aby edytować kierowanie, kliknij
MatterAddDeviceExtension
w sekcji Kierowanie.Przewiń w dół do sekcji Frameworki i biblioteki. Powinieneś zobaczyć wartość
GoogleHomeSDK.xcframework
.W kolumnie Umieść wybierz Nie umieszczaj.
Skonfiguruj identyfikatory klienta dewelopera i OAuth:
- W panelu nawigacyjnym odszukaj folder GoogleHomeAPISampleIOS i otwórz plik Info.plist do edycji.
W pliku Info.plist wypełnij pole GIDClientID swoim identyfikatorem klienta OAuth (patrz sekcja Konfigurowanie zgody OAuth) oraz pole GIDTeamID identyfikatorem zespołu deweloperów Apple konta dewelopera użytego podczas procesu rejestracji OAuth.
Dodawanie możliwości weryfikacji aplikacji:
- Aby edytować konfigurację projektu, w panelu nawigacyjnym Xcode wybierz plik projektu
GoogleHomeAPISampleIOS
. - U góry kliknij kartę Podpisywanie i możliwości, a po lewej stronie w sekcji CELU wybierz cel
GoogleHomeAPISampleIOS
. - Tuż pod kartą Podpisywanie i możliwości kliknij + Możliwości i wyszukaj App Attest.
- Aby dodać, kliknij App Attest (Weryfikacja aplikacji). Jeśli ta funkcja jest niedostępna w wyszukiwarce, może to oznaczać, że została już dodana do projektu.
- Aby edytować konfigurację projektu, w panelu nawigacyjnym Xcode wybierz plik projektu
Dodaj funkcję grup aplikacji.
- Otwórz projekt GoogleHomeAPISampleIOS > GoogleHomeAPISampleIOS.
- Kliknij Podpisywanie i możliwości > + Możliwości.
- Wybierz funkcję Grupy aplikacji.
- Kliknij ikonę + w sekcji Grupy aplikacji i dodaj identyfikator grupy aplikacji dla aplikacji dodanej na Portalu deweloperskim Apple.
- Powtórz te czynności w przypadku celu MatterAddDeviceExtension, aby dodać go do grup aplikacji.
Zaktualizuj identyfikator pakietu
- Aby uruchomić i wdrożyć przykładową aplikację na sprzęcie za pomocą certyfikatów dewelopera i profilów obsługi, musisz podać unikalny identyfikator pakietu. Powinien to być ten sam identyfikator powiązany z danymi logowania klienta OAuth (patrz wyżej).
- Aby edytować konfigurację projektu, w panelu nawigacyjnym Xcode wybierz plik projektu
GoogleHomeAPISampleIOS
. - U góry kliknij kartę Podpisywanie i możliwości, a po lewej stronie w sekcji CELU wybierz cel
GoogleHomeAPISampleIOS
. - W sekcji Podpisywanie wybierz pole Identyfikator pakietu i wpisz niepowtarzalny identyfikator aplikacji.
- Wybierz lub zainstaluj profil obsługiwany przez ten pakiet z wymaganymi uprawnieniami.
- Powtórz te czynności w przypadku celu
MatterAddDeviceExtension
, aby wprowadzić identyfikator pakietu rozszerzenia i zaimportować zarejestrowany profil zaopatrzenia.
Zaktualizuj w kodzie identyfikator zarejestrowanej grupy aplikacji.
- Aplikacja musi skonfigurować instancję pakietu SDK, aby korzystać z identyfikatora grupy aplikacji na potrzeby funkcji takich jak wdrożenie urządzenia. Zaktualizuj aplikację, aby korzystać z identyfikatora grupy aplikacji zarejestrowanego w portalu Apple Developer. Aby to zrobić, wyszukaj ciąg znaków
HOME_API_TODO_ADD_APP_GROUP
i zastąp nim wszystkie wystąpienia.
Te konfiguracje są tworzone w tych plikach:
GoogleHomeAPISampleIOS.swift
po zainicjowaniu pakietu SDK.RequestHandler.swift
CommissioningManager.swift
- Aplikacja musi skonfigurować instancję pakietu SDK, aby korzystać z identyfikatora grupy aplikacji na potrzeby funkcji takich jak wdrożenie urządzenia. Zaktualizuj aplikację, aby korzystać z identyfikatora grupy aplikacji zarejestrowanego w portalu Apple Developer. Aby to zrobić, wyszukaj ciąg znaków