Cet exemple d'application iOS utilise les API Google Home. Utilisez ce guide pour créer 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'application exemple, vous devez disposer d'un ordinateur sur lequel Xcode version 15.3 ou ultérieure est installé.
Pour tester l'application, vous aurez besoin des éléments suivants :
- Un compte Google
- Un identifiant Apple enregistré dans l'Apple Developer Program pour générer des fichiers de configuration d'appareils physiques. Si elle n'a pas déjà été créée, l'inscription entraîne des frais supplémentaires et peut prendre jusqu'à 48 heures.
- Un appareil iOS (pas 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.
- Thread Border Router (TBR) 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 aurez besoin d'un Mac répondant 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 l'activation de la fonctionnalité App Attest. Par conséquent, il ne peut pas être déployé sur des simulateurs. Pour ce faire, vous devez créer un profil de provisionnement avec le droit d'accès App Attest.
Deuxièmement, les groupes d'applications doivent être activés pour la communication entre l'application et l'MatterExtension. Pour cela, vous devez enregistrer un identifiant de groupe d'applications.
Pour en savoir plus, consultez la page Créer un profil de provisionnement de développement d'Apple.
Voici 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 des développeurs Apple.
- Ajoutez un identifiant de groupe d'applications. Par exemple, il peut être formaté comme suit :
group.com.company.commissioning.
- Enregistrez votre appareil de test dans le compte de développeur.
Créez un profil pour la cible de votre application.
- Choisissez un identifiant de bundle d'application pour votre application. Il doit être unique et descriptif. Par exemple, il peut être formaté comme suit :
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 Groupes d'applications.
Modifiez l'ID d'application que vous venez de créer et configurez la fonctionnalité Groupes d'applications pour ajouter l'identifiant du 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 Créer des certificats d'ID de développeur pour obtenir des instructions.
- Choisissez un identifiant de bundle d'application pour votre application. Il doit être unique et descriptif. Par exemple, il peut être formaté comme suit :
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 formaté comme suit :com.company.HomeApiSample.MatterExtension. - Enregistrez votre ID d'application. Lorsque vous y êtes invité, ajoutez la fonctionnalité App Group (Groupe d'applications).
- Modifiez l'ID d'application que vous venez de créer et configurez la fonctionnalité Groupes d'applications pour ajouter l'identifiant du groupe d'applications enregistré que vous avez 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 les applications iOS, le type d'application d'ID client OAuth doit être configuré sur iOS. L'application appellera également l'API Home. Pour activer cette fonctionnalité, l'API doit être activée dans le projet Google Cloud.
Générer l'ID client OAuth
- Dans la console Google Cloud, accédez au tableau de bord du sélecteur de projet 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é l'é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 de test. Sinon, passez à l'étape suivante.
- Selon votre cas d'utilisation, sélectionnez Interne ou Externe, puis cliquez sur Créer. Le volet Écran de consentement OAuth s'affiche.
- Saisissez les informations sur la page 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 de test 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 de test ont le droit d'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 l'écran de consentement OAuth, puis cliquez sur Revenir au tableau de bord.
Dans le panneau 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'ID d'équipe Apple Developer. Les autres champs sont facultatifs et peuvent être laissés vides.
- Cliquez sur CRÉER, puis notez l'ID client créé ou cliquez sur TÉLÉCHARGER LE FICHIER PLIST. Il sera utilisé 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 LES API ET LES SERVICES en haut de la page.
- Recherchez
HOME API, puis sélectionnez-le. - Sur la page d'informations de l'API Home, cliquez sur ACTIVER.
Télécharger le code source
Le code source de l'application exemple 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 File > Open (Fichier > Ouvrir), puis sélectionnez GoogleHomeAPISampleIOS.xcodeproj à la racine du dépôt cloné.
Ajouter le SDK au projet
Le projet d'application exemple nécessite des informations supplémentaires pour être compilé. Cela inclut l'ajout local des fichiers du framework du SDK, l'ajout des informations d'identification de votre compte de développeur et l'ajout de votre ID client OAuth.
Développer l'application
Pour télécharger le SDK iOS des API Home, vous devez d'abord vous connecter à Google Home Developers.
Configurez votre projet Xcode pour l'application exemple :
- Décompressez le SDK téléchargé dans le répertoire
ThirdParty/GoogleHomeSDKpar rapport au répertoire racine du projet. - Configurez les ID client de développeur et 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 champ Cloud Project Number avec le numéro de votre projet cloud et le champ GIDTeamID avec l'ID d'équipe de développeur Apple 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, puis sélectionnez la cible
GoogleHomeAPISampleIOSà gauche, dans la section "TARGETS" (CIBLES). - Juste sous l'onglet "Signing and Capabilities" (Signature et fonctionnalités), cliquez sur + Capability (+ Fonctionnalité) et recherchez App Attest.
- Cliquez sur App Attest pour l'ajouter. Si cette fonctionnalité n'apparaît pas dans la recherche, il est possible que le projet l'ait déjà ajoutée.
- Dans le volet de navigation Xcode, sélectionnez le fichier de projet
Ajoutez la fonctionnalité Groupes d'applications.

- Accédez au projet GoogleHomeAPISampleIOS > cible GoogleHomeAPISampleIOS.
- Cliquez sur Signing & Capabilities > + Capability (Signature et fonctionnalités > + Fonctionnalité).
- Sélectionnez la fonctionnalité Groupes d'applications.
- Cliquez sur l'icône + sous Groupes d'applications, puis ajoutez l'identifiant du groupe d'applications que vous avez ajouté dans le portail des développeurs Apple.
- Répétez ces étapes pour la cible MatterAddDeviceExtension afin de l'ajouter aux groupes d'applications.
Mettre à 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, puis sélectionnez la cible
GoogleHomeAPISampleIOSà gauche, dans la section "TARGETS" (CIBLES). - Sélectionnez le champ "Bundle Identifier" (Identifiant du 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 du bundle de l'extension et d'importer son profil de provisionnement enregistré.
Mettez à jour l'identifiant du groupe d'applications enregistré dans le code.
- L'application doit configurer l'instance du SDK pour utiliser l'identifiant du groupe d'applications pour des fonctionnalités telles que la mise en service de l'appareil. Mettez à jour l'application pour utiliser l'ID de groupe d'applications enregistré sur le portail des développeurs Apple 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 du groupe d'applications pour des fonctionnalités telles que la mise en service de l'appareil. Mettez à jour l'application pour utiliser l'ID de groupe d'applications enregistré sur le portail des développeurs Apple en recherchant la chaîne
Configurez le champ d'application OAuth dans
GoogleHomeAPISampleIOS.swift. Par défaut, le code source de l'application exemple utilise le champ d'applicationhttps://www.googleapis.com/auth/home.platform.v2. De nombreuses fonctionnalités de l'application exemple sont limitées par le champ d'applicationhome.platform.v2et nécessitent l'approbation du partenaire pour y accéder. Pour exécuter l'application exemple avec le champ d'applicationhttps://www.googleapis.com/auth/home.platform.selected.devicesstandard, ouvrezGoogleHomeAPISampleIOS.swiftet remplacezhomePlatformOAuthScopedansHome.configureparHomePlatformOAuthScope.v1:Home.configure { $0.sharedAppGroup = "HOME_API_TODO_ADD_APP_GROUP" $0.homePlatformOAuthScope = HomePlatformOAuthScope.v1 ... }