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 skompilować i zainstalować przykładową aplikację, potrzebujesz komputera z zainstalowanym Xcode w wersji 15.3 lub nowszej.
Aby przetestować aplikację, musisz mieć:
- Konto Google.
- Identyfikator Apple ID zarejestrowany w programie Apple Developer do generowania plików konfiguracyjnych urządzeń fizycznych. Jeśli nie masz jeszcze konta, 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 skonfigurowane za pomocą konta testowego.
- sieć Wi-Fi,
- Hub Google, który obsługuje interfejsy Home API.
- router graniczny Thread, jeśli urządzenie wymaga Thread, a hub nie ma tej funkcji;
- Co najmniej 1 obsługiwany typ urządzenia.
Do tworzenia aplikacji potrzebujesz komputera Mac spełniającego te wymagania:
- macOS Sonoma lub nowszy
- Xcode 15.3 lub nowszy
Tworzenie plików konfiguracji wdrożenia Apple
Po pierwsze, aplikacja musi mieć włączoną funkcję App Attest. W związku z tym nie można go wdrożyć na urządzeniach symulacyjnych. Wymaga to utworzenia profilu obsługi administracyjnej z uprawnieniem App Attest.
Po drugie, wymaga to włączenia grup aplikacji w celu komunikacji między aplikacją a MatterExtension
. Wymaga to zarejestrowania identyfikatora grupy aplikacji.
Więcej informacji o profilach administracyjnych znajdziesz w artykule Apple Tworzenie profilu administracyjnego na potrzeby programowania.
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 być na przykład sformatowany jako
group.com.company.commissioning
.
- Zarejestruj urządzenie testowe na koncie dewelopera.
Utwórz profil dla miejsca docelowego aplikacji.
- Wybierz identyfikator pakietu aplikacji. Powinien być unikalny i opisowy. Może być na przykład sformatowany jako
com.company.HomeApiSample
. Ten identyfikator będzie używany w pozostałej części tej sekcji. - Zarejestruj identyfikator aplikacji. Gdy pojawi się odpowiedni komunikat, dodaj funkcje App Attest i App Groups.
Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups (Grupy aplikacji), aby dodać zarejestrowany identyfikator grupy aplikacji.
Utwórz profil udostępniania na potrzeby programowania aplikacji. Powiąż go z nowo utworzonym identyfikatorem aplikacji i wybranymi urządzeniami testowymi. Upewnij się, że masz certyfikat dewelopera, aby podpisać aplikację.
- Jeśli jeszcze go nie masz, instrukcje znajdziesz w artykule Tworzenie certyfikatów identyfikatora dewelopera.
- Wybierz identyfikator pakietu aplikacji. Powinien być unikalny i opisowy. Może być na przykład sformatowany jako
Utwórz profil dla swojego
MatterExtension
.- Wybierz identyfikator pakietu aplikacji dla
MatterExtension
. Identyfikator powinien być dziedziczony z identyfikatora aplikacji. Może być na przykład sformatowany jakocom.company.HomeApiSample.MatterExtension
. - Zarejestruj identyfikator aplikacji. Gdy pojawi się odpowiedni komunikat, dodaj funkcję Grupa aplikacji.
- Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję Grupy aplikacji, aby dodać zarejestrowany identyfikator grupy aplikacji utworzony w poprzednich krokach.
- Utwórz profil obsługi administracyjnej 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 aplikacji na iOS typ aplikacji identyfikatora klienta OAuth musi być skonfigurowany jako iOS. Aplikacja będzie też wysyłać wywołania do 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 wyboru projektu i wybierz projekt, w którym chcesz utworzyć dane uwierzytelniające OAuth.
- Otwórz stronę Interfejsy API i usługi. W tym celu kliknij przycisk menu w lewym górnym rogu > Wyświetl wszystkie produkty > 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. Wyświetli 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. 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, którzy będą testować dostęp do Twojej aplikacji. Kliknij Dodaj użytkowników. Wyświetli się panel Dodaj użytkowników. Testerzy 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. Wyświetli się panel Podsumowanie.
- Sprawdź informacje na ekranie zgody OAuth, a potem 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 identyfikator zespołu programistów Apple. Pozostałe pola są opcjonalne i można je pozostawić puste.
- Kliknij UTWÓRZ i zanotuj utworzony identyfikator klienta lub kliknij 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 API
i 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.git
Aby wczytać projekt w Xcode, kliknij File (Plik) > Open (Otwórz) i wybierz
GoogleHomeAPISampleIOS.xcodeproj
w katalogu głównym sklonowanego repozytorium.
Konfigurowanie pakietu SDK
Aby skompilować projekt aplikacji przykładowej, musisz podać dodatkowe informacje. Obejmuje to lokalne dodanie plików struktury pakietu SDK, wypełnienie informacji o identyfikatorze konta dewelopera i wypełnienie identyfikatora klienta OAuth.
Tworzenie aplikacji
Aby pobrać pakiet Home APIs iOS SDK, musisz najpierw zalogować się w Google Home Developers.
Skonfiguruj projekt Xcode na potrzeby aplikacji przykładowej:
W panelu nawigacji Xcode wybierz plik
GoogleHomeAPISampleIOS
, aby edytować konfigurację projektu.U góry kliknij kartę Ogólne i po lewej stronie wybierz cel
GoogleHomeAPISampleIOS
.Przewiń w dół do sekcji Frameworki, biblioteki i treści osadzone. Powinny być widoczne 2 platformy interfejsu API Home.
W kolumnie Osadź wybierz Osadź i podpisz dla
GoogleHomeSDK.xcframework
. Drugi framework,GoogleHomeTypes.xcframework
, powinien mieć ustawienie Nie umieszczaj.U dołu listy kliknij ikonę +.
Gdy pojawi się prośba, wyszukaj
SafariServices.framework
i kliknij Dodaj. Upewnij się, że w przypadku tego wpisu w kolumnie Osadź jest ustawiona wartość Nie osadzaj.Kliknij
MatterAddDeviceExtension
w sekcji Cel, aby edytować cel.Przewiń w dół do sekcji Frameworki i biblioteki. Powinna się wyświetlić wartość
GoogleHomeSDK.xcframework
.W kolumnie Umieść wybierz Nie umieszczaj.
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), pole Cloud Project Number numerem projektu w chmurze, a pole GIDTeamID identyfikatorem zespołu deweloperów Apple konta dewelopera użytego podczas procesu rejestracji OAuth.
Dodaj funkcję potwierdzania aplikacji:
- W panelu nawigacyjnym Xcode wybierz
GoogleHomeAPISampleIOS
plik projektu, aby edytować konfigurację projektu. - U góry kliknij kartę Podpisywanie i możliwości, a następnie po lewej stronie w sekcji CELE wybierz docelowy
GoogleHomeAPISampleIOS
. - Tuż pod kartą Podpisywanie i możliwości kliknij + Możliwość i wyszukaj App Attest.
- Aby dodać usługę, kliknij App Attest. Jeśli ta funkcja nie jest dostępna w wyszukiwarce, być może została już dodana do projektu.
- W panelu nawigacyjnym Xcode wybierz
Dodaj funkcję Grupy 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 grup aplikacji dla aplikacji, którą dodano w portalu Apple Developer.
- Powtórz te czynności w przypadku elementu docelowego MatterAddDeviceExtension, aby dodać go do grup aplikacji.
Aktualizowanie identyfikatora pakietu
- Aby uruchomić i wdrożyć aplikację przykładową na sprzęcie za pomocą certyfikatów deweloperskich i profili administracyjnych, musisz podać unikalny identyfikator pakietu. Musi to być ten sam identyfikator, który jest powiązany z Twoimi danymi logowania klienta OAuth (patrz wyżej).
- W panelu nawigacyjnym Xcode wybierz
GoogleHomeAPISampleIOS
plik projektu, aby edytować konfigurację projektu. - U góry kliknij kartę Podpisywanie i możliwości, a następnie po lewej stronie w sekcji CELE wybierz docelowy
GoogleHomeAPISampleIOS
. - W sekcji Podpisywanie wybierz pole Identyfikator pakietu i wpisz unikalny identyfikator aplikacji.
- Wybierz lub zainstaluj profil administracyjny powiązany z tym pakietem, który zawiera wymagane uprawnienia.
- Powtórz te czynności w przypadku
MatterAddDeviceExtension
, aby wpisać identyfikator pakietu rozszerzenia i zaimportować zarejestrowany profil administracyjny.
Zaktualizuj w kodzie zarejestrowany identyfikator grupy aplikacji.
- Aplikacja musi skonfigurować instancję pakietu SDK, aby korzystać z identyfikatora grupy aplikacji w przypadku funkcji takich jak wdrażanie urządzenia. Zaktualizuj aplikację, aby korzystała z identyfikatora grupy aplikacji zarejestrowanego w Apple Developer Portal. Wyszukaj ciąg znaków
HOME_API_TODO_ADD_APP_GROUP
i zastąp nim każdą instancję.
Te konfiguracje są wprowadzane w tych plikach:
GoogleHomeAPISampleIOS.swift
podczas inicjowania pakietu SDK.RequestHandler.swift
CommissioningManager.swift
- Aplikacja musi skonfigurować instancję pakietu SDK, aby korzystać z identyfikatora grupy aplikacji w przypadku funkcji takich jak wdrażanie urządzenia. Zaktualizuj aplikację, aby korzystała z identyfikatora grupy aplikacji zarejestrowanego w Apple Developer Portal. Wyszukaj ciąg znaków