Tworzenie przykładowej aplikacji na iOS

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.

Pobierz Xcode

Aby przetestować aplikację, potrzebujesz:

  1. Konta Google.
  2. 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.
  3. Urządzenia z iOS (nie symulatora) z systemem iOS 16.4 lub nowszym skonfigurowanego za pomocą konta testowego.
  4. Sieci Wi-Fi.
  5. Huba Google, który obsługuje interfejsy Home API.
  6. Routera granicznego Thread, jeśli urządzenie wymaga Thread, a hub nie ma tej funkcji.
  7. 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:

  1. Utwórz identyfikator grupy aplikacji, aby aplikacja mogła komunikować się z MatterExtension.
    1. Zaloguj się w portalu Apple Developer.
    2. Dodaj identyfikator grupy aplikacji. Może on mieć na przykład format group.com.company.commissioning.
  2. Zarejestruj urządzenie testowe na koncie dewelopera account.
  3. Utwórz profil dla docelowej aplikacji.

    1. 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.
    2. Zarejestruj identyfikator aplikacji. Gdy pojawi się prośba, dodaj funkcje App Attest i App Groups.
    3. Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups , aby dodać zarejestrowany identyfikator grupy aplikacji.

    4. 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ę.

  4. Utwórz profil dla docelowego MatterExtension.

    1. Wybierz identyfikator pakietu aplikacji dla MatterExtension. Identyfikator powinien być dziedziczony z identyfikatora aplikacji. Może on mieć na przykład format com.company.HomeApiSample.MatterExtension.
    2. Zarejestruj identyfikator aplikacji. Gdy pojawi się prośba, dodaj funkcję App Group.
    3. Edytuj nowo utworzony identyfikator aplikacji i skonfiguruj funkcję App Groups , aby dodać zarejestrowany identyfikator grupy aplikacji utworzony w poprzednich krokach.
    4. Utwórz profil aprowizacji dewelopera dla MatterExtension.

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

  1. W konsoli Google Cloud otwórz panel wyboru projektu dashboard i wybierz projekt, którego chcesz użyć do utworzenia danych logowania OAuth.
  2. 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.
  3. W menu nawigacyjnym kliknij Dane logowania.
  4. 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.

    1. 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.
    2. 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.
    3. Nie musisz dodawać żadnych zakresów, więc kliknij Zapisz i kontynuuj. Wyświetli się panel Użytkownicy testowi.
    4. 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.
    5. Kliknij Zapisz i kontynuuj. Wyświetli się panel Podsumowanie.
    6. Sprawdź informacje na ekranie zgody OAuth, a następnie kliknij Wróć do panelu.
  5. W panelu menu po lewej stronie kliknij Dane logowania, aby utworzyć identyfikator klienta OAuth.

    Konfigurowanie ekranu OAuth

    1. Kliknij przycisk UTWÓRZ DANE LOGOWANIA i wybierz Identyfikator klienta OAuth.
      1. W sekcji Typ aplikacji wybierz iOS.
    2. Wpisz Identyfikator pakietu z identyfikatorem aplikacji i Apple Developer identyfikator zespołu. Pozostałe pola są opcjonalne i można je pozostawić puste.
    3. 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 .

Włączanie interfejsów Home API

Włącz dostęp do interfejsów Home API.

  1. Na karcie Interfejsy API i usługi kliknij Włączone interfejsy API i usługi.
  2. U góry strony kliknij WŁĄCZ INTERFEJSY API I USŁUGI.
  3. Wyszukaj HOME API i wybierz go.
  4. 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 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.

Zaloguj się

Skonfiguruj projekt Xcode na potrzeby przykładowej aplikacji:

  1. Rozpakuj pobrany pakiet SDK do katalogu ThirdParty/GoogleHomeSDK względem katalogu głównego projektu.
  2. Skonfiguruj identyfikatory dewelopera i klienta OAuth:
    1. W panelu nawigacyjnym znajdź folder GoogleHomeAPISampleIOS i otwórz plik Info.plist do edycji.
  3. 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.

  4. Dodaj funkcję App Attest:

    1. W panelu nawigacyjnym Xcode wybierz plik projektu GoogleHomeAPISampleIOS, aby edytować konfigurację projektu.
    2. U góry kliknij kartę Podpisywanie i funkcje i po lewej stronie w sekcji CELE wybierz cel GoogleHomeAPISampleIOS.
    3. Tuż pod kartą Podpisywanie i funkcje kliknij + Funkcja i wyszukaj App Attest.
    4. Kliknij App Attest , aby dodać. Jeśli tej funkcji nie ma w wynikach wyszukiwania, projekt mógł już ją dodać.
  5. Dodaj funkcję App Groups.

    Dodawanie grup aplikacji

    1. Otwórz projekt GoogleHomeAPISampleIOS > cel GoogleHomeAPISampleIOS.
    2. Kliknij Podpisywanie i funkcje > + Funkcja.
    3. Wybierz funkcję App Groups.
    4. Kliknij ikonę + w sekcji App Groups i dodaj identyfikator grup aplikacji dla aplikacji, który został dodany w portalu Apple Developer.
    5. Powtórz te czynności w przypadku celu MatterAddDeviceExtension , aby dodać go do App Groups.
  6. Zaktualizuj identyfikator pakietu.

    1. 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).
    2. W panelu nawigacyjnym Xcode wybierz plik projektu GoogleHomeAPISampleIOS, aby edytować konfigurację projektu.
    3. U góry kliknij kartę Podpisywanie i funkcje i po lewej stronie w sekcji CELE wybierz cel GoogleHomeAPISampleIOS.
    4. W sekcji Podpisywanie wybierz pole Identyfikator pakietu i wpisz unikalny identyfikator aplikacji.
    5. Wybierz lub zainstaluj profil aprowizacji powiązany z tym pakietem z wymaganymi uprawnieniami.
    6. Powtórz te czynności w przypadku celu MatterAddDeviceExtension, aby wpisać identyfikator pakietu rozszerzenia i zaimportować jego zarejestrowany profil aprowizacji.
  7. Zaktualizuj zarejestrowany identyfikator grupy aplikacji w kodzie.

    1. 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_GROUP i zastąp każde jego wystąpienie.

    Te konfiguracje są wprowadzane w tych plikach:

    • GoogleHomeAPISampleIOS.swift podczas inicjowania pakietu SDK.
    • RequestHandler.swift
    • CommissioningManager.swift