Cet exemple d'application iOS utilise les API Google Home. Suivez ce guide pour compiler et exécuter l'application pour la première fois.
Prérequis
Assurez-vous de disposer de la configuration minimale requise pour utiliser les API Home pour iOS.
Pour compiler et installer l'exemple d'application, vous avez besoin d'un ordinateur sur lequel Xcode version 15.3 ou ultérieure est installé.
Pour tester l'application, vous avez besoin des éléments suivants :
- Un compte Google.
- Un identifiant Apple inscrit au programme Apple Developer pour générer des fichiers de configuration d'appareil physique. Si vous n'en avez pas encore créé, l'inscription entraîne des frais supplémentaires et peut prendre jusqu'à 48 heures.
- Un appareil iOS (et non un simulateur) exécutant iOS 16.4 ou version ultérieure, configuré avec le compte de test.
- Un réseau Wi-Fi
- Un hub Google compatible avec les API Home.
- Un routeur de bordure Thread si votre appareil nécessite Thread et que votre hub ne dispose pas de cette fonctionnalité.
- Au moins un type d'appareil compatible.
Pour le développement, vous avez besoin d'un Mac qui répond aux exigences suivantes :
- macOS Sonoma ou version ultérieure
- Xcode 15.3 ou version ultérieure
Créer des fichiers de configuration de déploiement Apple
Tout d'abord, une application nécessite que la fonctionnalité App Attest soit activée. Par conséquent, elle ne peut pas être déployée sur des appareils simulateurs. Vous devez créer un profil de provisionnement avec le droit d'accès App Attest.
Ensuite, les groupes d'applications doivent être activés pour la communication entre l'application et MatterExtension. Vous devez enregistrer un identifiant de groupe d'applications.
Pour en savoir plus, consultez la section Créer un profil de provisionnement de développement sur les profils de provisionnement d'Apple.
Vous trouverez ci-dessous les étapes minimales requises pour déployer une application :
- Créez un identifiant de groupe d'applications pour que votre application communique avec
MatterExtension.- Connectez-vous au portail Apple Developer.
- Ajoutez un identifiant de groupe d'applications. Par exemple, il peut être au format
group.com.company.commissioning.
- Enregistrez votre appareil de test sur le compte de développeur
Créez un profil pour votre cible d'application.
- Choisissez un identifiant de bundle d'application pour votre application. L'identifiant doit être unique et descriptif. Par exemple, il peut être
au format
com.company.HomeApiSample. Cet identifiant sera utilisé dans le reste de cette section. - Enregistrez votre ID d'application. Lorsque vous y êtes invité, ajoutez les fonctionnalités App Attest et App Groups.
Modifiez l'ID d'application que vous venez de créer et configurez la fonctionnalité App Groups pour ajouter l'identifiant de groupe d'applications enregistré.
Créez un profil de provisionnement de développement pour le développement de votre application. Associez-le à l'ID d'application que vous venez de créer et aux appareils de test sélectionnés. Assurez-vous de disposer d'un certificat de développeur pour signer l'application.
- Si vous n'en avez pas encore créé, consultez la section Créer des certificats d'ID de développeur pour obtenir des instructions.
- Choisissez un identifiant de bundle d'application pour votre application. L'identifiant doit être unique et descriptif. Par exemple, il peut être
au format
Créez un profil pour votre cible
MatterExtension.- Choisissez un identifiant du bundle d'application pour votre
MatterExtension. L'identifiant doit être hérité de l'identifiant de l'application. Par exemple, il peut être au formatcom.company.HomeApiSample.MatterExtension. - Enregistrez votre ID d'application. Lorsque vous y êtes invité, ajoutez la fonctionnalité App Group.
- Modifiez l'ID d'application que vous venez de créer et configurez la fonctionnalité App Groups pour ajouter l'identifiant de groupe d'applications enregistré créé lors des étapes précédentes.
- Créez un profil de provisionnement de développement
pour
MatterExtension.
- Choisissez un identifiant du bundle d'application pour votre
Générer l'ID client OAuth et activer les API Home
Votre application a besoin d'un ID client OAuth pour s'identifier auprès du backend d'authentification de Google. Pour iOS et les applications, le type d'application de l'ID client OAuth doit être configuré sur iOS. L'application effectuera également des appels à l'API Home. Pour activer cette fonctionnalité, l'API doit être activée dans le Google Cloud projet.
Générer l'ID client OAuth
- Dans la console Google Cloud, accédez au sélecteur de projet tableau de bord et sélectionnez le projet que vous souhaitez utiliser pour créer des identifiants OAuth.
- Accédez à la page "API et services" en cliquant sur le bouton de menu en haut à gauche > Afficher tous les produits > API et services.
- Dans le menu de navigation, cliquez sur Identifiants.
Si vous n'avez pas encore configuré votre écran de consentement pour ce projet Google Cloud, le bouton Configurer l'écran de consentement s'affiche. Dans ce cas, configurez votre écran de consentement en suivant la procédure ci-dessous. Si votre écran de consentement OAuth a déjà été configuré et que son état de publication est Test, assurez-vous que les comptes de test que vous utiliserez sont ajoutés au groupe Utilisateurs tests. Sinon, passez à l'étape suivante.
- Selon votre cas d'utilisation, sélectionnez Interne ou Externe, et puis cliquez sur Créer. Le volet Écran de consentement OAuth s'affiche.
- Saisissez les informations sur la page d'informations sur l'application en suivant les instructions à l'écran, puis cliquez sur Enregistrer et continuer. Le volet "Champs d'application" s'affiche.
- Vous n'avez pas besoin d'ajouter de champs d'application. Cliquez donc sur Enregistrer et continuer. Le volet Utilisateurs tests s'affiche.
- Si vous avez choisi de créer un écran de consentement interne, vous devez ajouter des utilisateurs pour tester l'accès à votre application. Cliquez sur Ajouter des utilisateurs. Le volet Ajouter des utilisateurs s'affiche. Les utilisateurs tests sont autorisés à accorder des autorisations dans votre application. Dans le champ vide, ajoutez une ou plusieurs adresses e-mail de compte Google, puis cliquez sur Ajouter.
- Cliquez sur Enregistrer et continuer. Le volet Résumé s'affiche.
- Vérifiez les informations de votre écran de consentement OAuth, puis cliquez sur Retour au tableau de bord.
Dans le volet de menu de gauche, cliquez sur Identifiants pour créer votre ID client OAuth.

- Cliquez sur le bouton CRÉER DES IDENTIFIANTS, puis sélectionnez ID client OAuth.
- Sous Type d'application, sélectionnez iOS.
- Saisissez l'ID du bundle avec l'identifiant de votre application et l'Apple Developer ID d'équipe. Les autres champs sont facultatifs et peuvent être laissés vides.
- Cliquez sur CRÉER, puis notez l'ID client créé ou TÉLÉCHARGER LA LISTE DE PROPRIÉTÉS. Cette valeur sera utilisée ultérieurement pour activer la fonctionnalité de flux d'autorisations. Pour en savoir plus, consultez la section Créer des identifiants d'autorisation.
- Cliquez sur le bouton CRÉER DES IDENTIFIANTS, puis sélectionnez ID client OAuth.
Activer les API Home
Activez l'accès aux API Home.
- Dans l'onglet API et services, cliquez sur API et services activés.
- Cliquez sur ACTIVER DES API ET DES SERVICES en haut de la page.
- Recherchez l'
HOME APIet sélectionnez-la. - Sur la page de détails de l'API Home, cliquez sur ACTIVER.
Télécharger le code source
Le code source de l'exemple d'application est disponible sur GitHub.
Accédez à l'emplacement où vous souhaitez enregistrer le projet, puis clonez-le :
git clone https://github.com/google-home/google-home-api-sample-app-ios.gitPour charger le projet sur Xcode, cliquez sur Fichier > Ouvrir, puis sélectionnez
GoogleHomeAPISampleIOS.xcodeproj à la racine du dépôt cloné.
Ajouter le SDK au projet
Le projet d'exemple d'application nécessite des informations supplémentaires pour être compilé. Cela inclut l'ajout local des fichiers du framework du SDK, le remplissage des informations d'identifiant de votre compte de développeur et le remplissage de votre ID client OAuth.
Développer l'application
Pour télécharger le SDK iOS des API Home, vous devez d'abord être connecté à Google Home Developers.
Configurez votre projet Xcode pour l'exemple d'application :
- Décompressez le SDK téléchargé dans le répertoire
ThirdParty/GoogleHomeSDKpar rapport au répertoire racine du projet. - Configurez les ID de développeur et d'ID client OAuth :
- Dans le volet de navigation, recherchez le dossier GoogleHomeAPISampleIOS et ouvrez le fichier Info.plist pour le modifier.
Dans le fichier Info.plist, renseignez le champ GIDClientID avec votre ID client OAuth (voir la section Configurer le consentement OAuth), le numéro de projet Cloud correspondant à votre projet cloud et le champ GIDTeamID avec l'ID d'équipe Apple Developer du compte de développeur utilisé lors du processus d'enregistrement OAuth.
Ajoutez la fonctionnalité App Attest :
- Dans le volet de navigation Xcode, sélectionnez le fichier de projet
GoogleHomeAPISampleIOSpour modifier la configuration du projet. - Cliquez sur l'onglet Signing and Capabilities (Signature et fonctionnalités) en haut de la page, puis sélectionnez la cible
GoogleHomeAPISampleIOSà gauche, sous la section TARGETS. - Juste en dessous de l'onglet "Signing and Capabilities" (Signature et fonctionnalités), cliquez sur + Capability (Ajouter une fonctionnalité), puis recherchez App Attest.
- Cliquez sur App Attest pour l'ajouter. Si cette fonctionnalité n'apparaît pas dans la recherche, il est possible qu'elle ait déjà été ajoutée au projet.
- Dans le volet de navigation Xcode, sélectionnez le fichier de projet
Ajoutez la fonctionnalité App Groups.

- Accédez au projet GoogleHomeAPISampleIOS > cible GoogleHomeAPISampleIOS.
- Cliquez sur Signing & Capabilities (Signature et fonctionnalités) > + Capability (Ajouter une fonctionnalité).
- Sélectionnez la fonctionnalité App Groups.
- Cliquez sur l'icône + sous App Groups (Groupes d'applications), puis ajoutez l'identifiant de groupe d'applications pour votre application que vous avez ajouté dans le portail Apple Developer.
- Répétez ces étapes pour la cible MatterAddDeviceExtension afin de l'ajouter aux App Groups.
Mettez à jour l'identifiant du bundle.
- Pour exécuter et déployer l'application exemple sur du matériel à l'aide de vos certificats de développeur et de vos profils de provisionnement, vous devez fournir un identifiant du bundle unique. Il doit s'agir du même identifiant que celui associé à vos identifiants client OAuth (voir ci-dessus).
- Dans le volet de navigation Xcode, sélectionnez le fichier de projet
GoogleHomeAPISampleIOSpour modifier la configuration du projet. - Cliquez sur l'onglet Signing and Capabilities (Signature et fonctionnalités) en haut de la page, puis sélectionnez la cible
GoogleHomeAPISampleIOSà gauche, sous la section TARGETS. - Sélectionnez le champ "Bundle Identifier" (Identifiant de bundle) dans la section Signing (Signature), puis saisissez l'identifiant unique de l'application.
- Sélectionnez ou installez le profil de provisionnement associé à ce bundle avec les droits requis.
- Répétez ces étapes pour la cible
MatterAddDeviceExtensionafin de saisir l'identifiant de bundle de l'extension et d'importer son profil de provisionnement enregistré.
Mettez à jour l'identifiant de groupe d'applications enregistré dans le code.
- L'application doit configurer l'instance du SDK pour utiliser l'identifiant de groupe d'applications pour des fonctionnalités telles que la mise en service des appareils. Mettez à jour l'application pour qu'elle utilise l'ID de groupe d'applications enregistré dans le portail Apple Developer en recherchant la chaîne
HOME_API_TODO_ADD_APP_GROUPet en remplaçant chaque instance par celle-ci.
Ces configurations sont effectuées dans les fichiers suivants :
GoogleHomeAPISampleIOS.swiftlorsque le SDK est initialisé.RequestHandler.swiftCommissioningManager.swift
- L'application doit configurer l'instance du SDK pour utiliser l'identifiant de groupe d'applications pour des fonctionnalités telles que la mise en service des appareils. Mettez à jour l'application pour qu'elle utilise l'ID de groupe d'applications enregistré dans le portail Apple Developer en recherchant la chaîne