Questa applicazione iOS di esempio utilizza le API Google Home. Utilizza questa guida per creare ed eseguire l'app per la prima volta.
Prerequisiti
Assicurati di soddisfare i requisiti minimi per utilizzare le API Home per iOS.
Per creare e installare l'app di esempio, devi avere un computer con Xcode versione 15.3 o successive.
Per testare l'app, devi avere:
- Un Account Google.
- Un ID Apple registrato al Developer Program di Apple per generare i file di configurazione dei dispositivi fisici. Se non è già stata creata, la registrazione comporta un costo aggiuntivo e potrebbe richiedere fino a 48 ore per essere completata.
- Un dispositivo iOS (non un simulatore) con iOS 16.4 o versioni successive configurato con l'account di test.
- Una rete Wi-Fi.
- Un hub Google che supporta le API Home.
- Un Thread Border Router (TBR) se il tuo dispositivo richiede Thread e l'hub non ha questa funzionalità.
- Almeno un tipo di dispositivo supportato.
Per lo sviluppo, avrai bisogno di un Mac che soddisfi i seguenti requisiti:
- macOS Sonoma o versioni successive
- Xcode 15.3 o versioni successive
Crea i file di configurazione del deployment Apple
Innanzitutto, un'app richiede l'attivazione della funzionalità App Attest. Di conseguenza, non è possibile eseguirne il deployment sui dispositivi del simulatore. Per farlo, devi creare un profilo di provisioning con l'autorizzazione App Attest.
In secondo luogo, è necessario che i gruppi di app siano abilitati per la comunicazione tra l'app e MatterExtension. Per farlo, devi registrare un identificatore del gruppo di app.
Per maggiori dettagli, consulta la pagina di Apple Create a development provisioning profile sui profili di provisioning.
Di seguito sono riportati i passaggi minimi necessari per eseguire il deployment di un'app:
- Crea un identificatore del gruppo di app per consentire alla tua app di comunicare con
MatterExtension.- Accedi al portale per sviluppatori Apple.
- Aggiungi un identificatore del gruppo di app. Ad esempio, potrebbe essere formattato come
group.com.company.commissioning.
- Registra il tuo dispositivo di test nell'account sviluppatore.
Crea un profilo per il target dell'app.
- Scegli un identificatore pacchetto per la tua app.
L'identificatore deve essere univoco e descrittivo. Ad esempio, potrebbe essere formattato come
com.company.HomeApiSample. Questo identificatore verrà utilizzato nel resto di questa sezione. - Registra l'ID app. Quando richiesto, aggiungi le funzionalità App Attest e Gruppi di app.
Modifica l'ID app appena creato e configura la funzionalità Gruppi di app per aggiungere l'identificatore del gruppo di app registrato.
Crea un profilo di provisioning di sviluppo per lo sviluppo della tua app. Associalo all'ID app appena creato e ai dispositivi di test selezionati. Assicurati di avere un certificato sviluppatore con cui firmare l'app.
- Se non ne hai ancora creato uno, consulta Crea certificati ID sviluppatore per istruzioni.
- Scegli un identificatore pacchetto per la tua app.
L'identificatore deve essere univoco e descrittivo. Ad esempio, potrebbe essere formattato come
Crea un profilo per il tuo target
MatterExtension.- Scegli un identificatore pacchetto dell'applicazione per il tuo
MatterExtension. L'identificatore deve essere ereditato dall'identificatore dell'app. Ad esempio, potrebbe essere formattato comecom.company.HomeApiSample.MatterExtension. - Registra l'ID app. Quando richiesto, aggiungi la funzionalità Gruppo di app.
- Modifica l'ID app appena creato e configura la funzionalità Gruppi di app per aggiungere l'identificatore del gruppo di app registrato creato nei passaggi precedenti.
- Crea un profilo di provisioning di sviluppo
per
MatterExtension.
- Scegli un identificatore pacchetto dell'applicazione per il tuo
Genera l'ID client OAuth e attiva le API Home
La tua app ha bisogno di un ID client OAuth per identificarsi nel backend di autenticazione di Google. Per iOS e le app, il tipo di applicazione ID client OAuth deve essere configurato come iOS. L'app effettuerà anche chiamate all'API Home. Per attivare questa funzionalità, l'API deve essere abilitata nel progetto Google Cloud.
Genera l'ID client OAuth
- Nella console Google Cloud, vai alla dashboard del selettore di progetti e seleziona il progetto che vuoi utilizzare per creare le credenziali OAuth.
- Vai alla pagina API e servizi facendo clic sul pulsante del menu in alto a sinistra > Visualizza tutti i prodotti > API e servizi.
- Nel menu di navigazione, fai clic su Credenziali.
Se non hai ancora configurato la schermata per il consenso per questo progetto Google Cloud, viene visualizzato il pulsante Configura schermata per il consenso. In questo caso, configura la schermata per il consenso utilizzando la seguente procedura. Se la schermata per il consenso OAuth è già stata configurata e lo stato di pubblicazione è Test, assicurati che gli account di test che utilizzerai siano aggiunti al gruppo Utenti di test. In caso contrario, vai al passaggio successivo.
- A seconda del caso d'uso, seleziona Interno o Esterno, quindi fai clic su Crea. Viene visualizzato il riquadro Schermata per il consenso OAuth.
- Inserisci le informazioni nella pagina Informazioni sull'app seguendo le istruzioni sullo schermo, quindi fai clic su Salva e continua. Viene visualizzato il riquadro Ambiti.
- Non è necessario aggiungere ambiti, quindi fai clic su Salva e continua. Viene visualizzato il riquadro Utenti di test.
- Se hai scelto di creare una schermata per il consenso interna, devi aggiungere utenti per testare l'accesso alla tua app. Fai clic su Aggiungi utenti. Viene visualizzato il riquadro Aggiungi utenti. Gli utenti di test hanno il privilegio di concedere autorizzazioni nella tua app. Nel campo vuoto, aggiungi uno o più indirizzi email dell'Account Google, quindi fai clic su Aggiungi.
- Fai clic su Salva e continua. Viene visualizzato il riquadro Riepilogo.
- Esamina le informazioni della schermata per il consenso OAuth, quindi fai clic su Torna alla dashboard.
Nel riquadro del menu a sinistra, fai clic su Credenziali per creare l'ID client OAuth.

- Fai clic sul pulsante CREA CREDENZIALI e seleziona ID client OAuth.
- In Tipo di applicazione, seleziona iOS.
- Inserisci l'ID pacchetto con l'identificatore dell'app e l'ID team di sviluppatori Apple. Gli altri campi sono facoltativi e possono essere lasciati vuoti.
- Fai clic su CREA e prendi nota dell'ID client creato o fai clic su SCARICA PLIST. Questo verrà utilizzato in un secondo momento per attivare la funzionalità del flusso di autorizzazioni. Per saperne di più, consulta la sezione Crea credenziali di autorizzazione.
- Fai clic sul pulsante CREA CREDENZIALI e seleziona ID client OAuth.
Attiva le API Home
Abilita l'accesso alle API Home.
- Nella scheda API e servizi, fai clic su API e servizi abilitati.
- Fai clic su ABILITA API E SERVIZI nella parte superiore della pagina.
- Cerca
HOME APIe selezionalo. - Nella pagina dei dettagli dell'API Home, fai clic su ABILITA.
scarica il codice sorgente
Il codice sorgente per l'app di esempio è disponibile su GitHub.
Vai alla posizione in cui vuoi salvare il progetto, quindi clonalo:
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitPer caricare il progetto su Xcode, fai clic su File > Apri e seleziona GoogleHomeAPISampleIOS.xcodeproj nella directory principale del repository clonato.
Aggiungi l'SDK al progetto
Il progetto dell'app di esempio richiede alcune informazioni aggiuntive per la creazione. Ciò include l'aggiunta locale dei file del framework dell'SDK, la compilazione delle informazioni dell'identificatore dell'account sviluppatore e la compilazione dell'ID client OAuth.
Crea l'app
Per scaricare l'SDK per iOS delle API Home, devi prima accedere a Google Home Developers.
Configura il progetto Xcode per l'app di esempio:
- Decomprimi l'SDK scaricato nella directory
ThirdParty/GoogleHomeSDKrelativa alla directory root del progetto. - Configura gli ID client sviluppatore e OAuth:
- Nel riquadro di navigazione, cerca la cartella GoogleHomeAPISampleIOS e apri il file Info.plist per modificarlo.
Nel file Info.plist, compila GIDClientID con il tuo ID client OAuth (consulta la sezione Configura il consenso OAuth), Cloud Project Number corrispondente al tuo progetto cloud e GIDTeamID con l'ID team sviluppatore Apple dell'account sviluppatore utilizzato durante la procedura di registrazione OAuth.
Aggiungi la funzionalità App Attest:
- Nel riquadro di navigazione di Xcode, seleziona il file di progetto
GoogleHomeAPISampleIOSper modificare la configurazione del progetto. - Fai clic sulla scheda Signing and Capabilities (Firma e funzionalità) in alto e seleziona il target
GoogleHomeAPISampleIOSsul lato sinistro nella sezione TARGETS (TARGET). - Subito sotto la scheda Signing & Capabilities (Firma e funzionalità), fai clic su + Capability (+ Funzionalità) e cerca App Attest.
- Fai clic su App Attest per aggiungerlo. Se questa funzionalità non è presente nella ricerca, è possibile che sia già stata aggiunta al progetto.
- Nel riquadro di navigazione di Xcode, seleziona il file di progetto
Aggiungi la funzionalità Gruppi di app.

- Vai al progetto GoogleHomeAPISampleIOS > target GoogleHomeAPISampleIOS.
- Fai clic su Signing & Capabilities (Firma e funzionalità) > + Capability (+ Funzionalità).
- Seleziona la funzionalità Gruppi di app.
- Fai clic sull'icona + in Gruppi di app e aggiungi l'identificatore dei gruppi di app per la tua app che hai aggiunto nel portale per sviluppatori Apple.
- Ripeti questi passaggi per il target MatterAddDeviceExtension per aggiungerlo ai gruppi di app.
Aggiorna l'identificatore pacchetto
- Per eseguire ed eseguire il deployment dell'app di esempio sull'hardware utilizzando i tuoi certificati per sviluppatori e i profili di provisioning, devi fornire un identificatore pacchetto univoco. Deve essere lo stesso identificatore associato alle tue credenziali client OAuth (vedi sopra).
- Nel riquadro di navigazione di Xcode, seleziona il file di progetto
GoogleHomeAPISampleIOSper modificare la configurazione del progetto. - Fai clic sulla scheda Signing and Capabilities (Firma e funzionalità) in alto e seleziona il target
GoogleHomeAPISampleIOSsul lato sinistro nella sezione TARGETS (TARGET). - Seleziona il campo Identificatore pacchetto nella sezione Firma e inserisci l'identificatore univoco dell'applicazione.
- Seleziona o installa il profilo di provisioning relativo a quel bundle con i diritti richiesti.
- Ripeti questi passaggi per la destinazione
MatterAddDeviceExtensionper inserire l'identificatore pacchetto per l'estensione e importare il relativo profilo di provisioning registrato.
Aggiorna l'identificatore del gruppo di app registrato nel codice.
- L'applicazione deve configurare l'istanza dell'SDK per utilizzare l'identificatore del gruppo di app per funzionalità come la messa in servizio del dispositivo. Aggiorna l'app per utilizzare l'ID gruppo di app registrato nel portale per sviluppatori Apple cercando la stringa
HOME_API_TODO_ADD_APP_GROUPe sostituendo ogni istanza con questa.
Queste configurazioni vengono effettuate nei seguenti file:
GoogleHomeAPISampleIOS.swiftquando l'SDK viene inizializzato.RequestHandler.swiftCommissioningManager.swift
- L'applicazione deve configurare l'istanza dell'SDK per utilizzare l'identificatore del gruppo di app per funzionalità come la messa in servizio del dispositivo. Aggiorna l'app per utilizzare l'ID gruppo di app registrato nel portale per sviluppatori Apple cercando la stringa
Configura l'ambito OAuth in
GoogleHomeAPISampleIOS.swift. Per impostazione predefinita, il codice sorgente dell'app di esempio utilizza l'ambitohttps://www.googleapis.com/auth/home.platform.v2. Molte funzionalità dell'app di esempio sono limitate dall'ambitohome.platform.v2e richiedono l'approvazione del partner per l'accesso. Per eseguire l'app di esempio con l'ambitohttps://www.googleapis.com/auth/home.platform.selected.devicesstandard, apriGoogleHomeAPISampleIOS.swifte modificahomePlatformOAuthScopeinHome.configureinHomePlatformOAuthScope.v1:Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }