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 zarejestrowane w programie EAP interfejsów API Home, które służy jako konto testowe.
- 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,
- 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 na potrzeby komunikacji 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 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 tożsamości 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 projektu 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 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 Twojej 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 tę opcję. - 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 wybierzGoogleHomeAPISampleIOS.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 na OAuth), a pole GIDTeamID identyfikatorem Apple Developer Team konta dewelopera użytego podczas procesu rejestracji OAuth.
Skonfiguruj system kompilacji:
- Aby edytować konfigurację projektu, w panelu nawigacyjnym Xcode wybierz plik projektu
GoogleHomeAPISampleIOS
. - U góry kliknij kartę Ustawienia projektu i po lewej stronie w sekcji TARGETS wybierz docelowe
GoogleHomeAPISampleIOS
. - Wyszukaj Inne flagi linkera i dodaj 2 elementy:
-lc++
-ObjC
- Aby edytować konfigurację projektu, w panelu nawigacyjnym Xcode wybierz plik projektu
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 swojej aplikacji, który został dodany na stronie Portal deweloperów 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