Cet exemple d'application iOS utilise les API Google Home. Utilisez 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'application exemple, vous aurez besoin d'un ordinateur sur lequel Xcode 15.3 ou version ultérieure est installé.
Pour tester l'application, vous aurez 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'appareils physiques. Si vous ne l'avez pas encore fait, l'inscription entraîne des frais supplémentaires et peut prendre jusqu'à 48 heures.
- Un appareil iOS (et non un simulateur) équipé d'iOS 16.4 ou version ultérieure et 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 n'en est pas équipé.
- Au moins un type d'appareil compatible.
Pour le développement, vous aurez 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 doit activer la fonctionnalité App Attest. Par conséquent, il ne peut pas être déployé sur des appareils simulateurs. Pour ce faire, vous devez créer un profil de provisionnement avec le droit App Attest.
Deuxièmement, il nécessite que les groupes d'applications soient activés pour la communication entre l'application et MatterExtension
. Pour ce faire, 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 d'Apple sur les profils de provisionnement.
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 puisse communiquer avec
MatterExtension
.- Connectez-vous au portail des développeurs Apple.
- Ajoutez un identifiant de groupe d'applications. Par exemple, il peut être mis en forme 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. Cet identifiant doit être unique et descriptif. Par exemple, il peut être mis en forme comme suit :
com.company.HomeApiSample
. Cet identifiant sera utilisé tout au long 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 (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. Cet identifiant doit être unique et descriptif. Par exemple, il peut être mis en forme comme suit :
Créez un profil pour votre cible
MatterExtension
.- Choisissez un identifiant de bundle d'application pour votre
MatterExtension
. L'identifiant doit être hérité de l'identifiant de l'application. Par exemple, il peut être mis en forme comme suit :com.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 (Groupes d'applications) pour ajouter l'identifiant du groupe d'applications enregistré lors des étapes précédentes.
- Créez un profil de provisionnement de développement pour
MatterExtension
.
- Choisissez un identifiant de 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 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 d'autorisation pour ce projet Google Cloud, le bouton Configurer l'écran d'autorisation 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 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 de test s'affiche.
- Si vous avez choisi de créer un écran d'autorisation 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 privilège 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écapitulatif s'affiche.
- Vérifiez les informations de votre écran de consentement OAuth, puis cliquez sur Retour 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 PLIST. 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
HOME API
et 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.git
Pour charger le projet sur Xcode, cliquez sur File > Open (Fichier > Ouvrir), puis sélectionnez GoogleHomeAPISampleIOS.xcodeproj
à la racine du dépôt cloné.
Configurez le SDK
Le projet d'application exemple nécessite des informations supplémentaires pour être créé. Cela inclut l'ajout local des fichiers du framework SDK, le remplissage des informations d'identification 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.
Connectez-vous dès maintenant !
Configurez votre projet Xcode pour l'application exemple :
Dans le volet de navigation Xcode, sélectionnez le fichier
GoogleHomeAPISampleIOS
pour modifier la configuration du projet.Cliquez sur l'onglet Général en haut de la page, puis sélectionnez la cible
GoogleHomeAPISampleIOS
à gauche.Faites défiler l'écran vers le bas jusqu'à la section Frameworks, Libraries, and Embedded Content (Frameworks, bibliothèques et contenu intégré). Les deux frameworks de l'API Home devraient s'afficher.
Dans la colonne Intégrer, sélectionnez Intégrer et signer pour
GoogleHomeSDK.xcframework
. L'autre framework,GoogleHomeTypes.xcframework
, doit rester défini sur Do Not Embed (Ne pas intégrer).En bas de la liste, cliquez sur l'icône +.
Lorsque vous y êtes invité, recherchez
SafariServices.framework
et cliquez sur Ajouter. Assurez-vous que la colonne Intégrer est définie sur Ne pas intégrer pour cette entrée.Cliquez sur
MatterAddDeviceExtension
sous Cible pour modifier la cible.Faites défiler la page vers le bas jusqu'à la section Frameworks and Libraries (Frameworks et bibliothèques). Vous devriez voir
GoogleHomeSDK.xcframework
dans la liste.Dans la colonne Intégrer, sélectionnez Ne pas intégrer.
Configurez les ID client du développeur et 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 GIDClientID avec votre ID client OAuth (consultez la section Configurer le consentement OAuth), Cloud Project Number avec le numéro de votre projet Cloud et 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 projet
GoogleHomeAPISampleIOS
pour modifier la configuration du projet. - Cliquez sur l'onglet Signature et capacités en haut de l'écran, puis sélectionnez la cible
GoogleHomeAPISampleIOS
sur la gauche, dans la section TARGETS (CIBLES). - Juste en dessous de l'onglet "Signing and Capabilities" (Signature et capacités), cliquez sur + Capability (Ajouter une capacité), puis recherchez App Attest.
- Cliquez sur App Attest pour l'ajouter. Si cette fonctionnalité est manquante 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 projet
Ajoutez la fonctionnalité App Groups.
- Accédez au projet GoogleHomeAPISampleIOS > cible GoogleHomeAPISampleIOS.
- Cliquez sur Signature et capacités > + Capacité.
- Sélectionnez la fonctionnalité Groupes d'applications.
- Cliquez sur l'icône + sous App Groups (Groupes d'applications), puis ajoutez l'identifiant App Groups de 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 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 profils de provisionnement, vous devez fournir un identifiant de bundle unique. Il doit s'agir du même identifiant associé à vos identifiants client OAuth (voir ci-dessus).
- Dans le volet de navigation Xcode, sélectionnez le fichier projet
GoogleHomeAPISampleIOS
pour modifier la configuration du projet. - Cliquez sur l'onglet Signature et capacités en haut de l'écran, puis sélectionnez la cible
GoogleHomeAPISampleIOS
sur la gauche, dans la section TARGETS (CIBLES). - Sélectionnez le champ "Bundle Identifier" (Identifiant de groupe) dans la section Signing (Signature) et saisissez l'identifiant unique de l'application.
- Sélectionnez ou installez le profil de provisionnement associé à ce bundle avec les droits d'accès requis.
- Répétez ces étapes pour la cible
MatterAddDeviceExtension
afin de saisir l'identifiant du bundle pour 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 des appareils. Mettez à jour l'application pour utiliser l'ID du groupe d'applications enregistré dans le portail Apple Developer en recherchant la chaîne
HOME_API_TODO_ADD_APP_GROUP
et en remplaçant chaque instance par celle-ci.
Ces configurations sont effectuées dans les fichiers suivants :
GoogleHomeAPISampleIOS.swift
lorsque le SDK est initialisé.RequestHandler.swift
CommissioningManager.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 des appareils. Mettez à jour l'application pour utiliser l'ID du groupe d'applications enregistré dans le portail Apple Developer en recherchant la chaîne