Activer l'API Geospatial pour votre application Unity (AR Foundation) ciblant Android

Configurez les paramètres de votre application afin qu'elle puisse utiliser l'API Geospatial.

Prérequis

Assurez-vous de bien comprendre les concepts fondamentaux de la RA et de configurer une session ARCore avant de continuer.

Pour en savoir plus sur l'API Geospatial, consultez la page Présentation de l'API Geospatial.

Si vous débutez dans le développement avec ARCore, consultez la page Premiers pas pour en savoir plus sur la configuration logicielle et matérielle requise, les conditions préalables et d'autres informations spécifiques aux plates-formes que vous utilisez.

Pour utiliser l'API ARCore Geospatial, votre projet doit être compatible avec AR Foundation et ARCore Extensions for AR Foundation.

Activer l'API ARCore

Avant d'utiliser le système de positionnement visuel (VPS) dans votre application, vous devez d'abord activer l'API ARCore dans un projet Google Cloud nouveau ou existant. Ce service est responsable de l'hébergement, du stockage et de la résolution des ancres géospatiales.

L'autorisation sans clé est préférable, mais l'autorisation par clé API est également prise en charge.

Ajouter les bibliothèques requises à votre application

Après avoir autorisé votre application à appeler l'API ARCore, vous devez ajouter des bibliothèques pour activer les fonctionnalités géospatiales dans votre application.

  1. Accédez à Edit > Project Settings > XR Plug-In Management > ARCore Extensions (Modifier > Paramètres du projet > Gestion des plug-ins XR > Extensions ARCore).
  2. Sous Optional Features (Fonctionnalités facultatives), sélectionnez Geospatial.

Activer les fonctionnalités géospatiales dans la configuration de la session

Une fois la fonctionnalité Geospatial activée dans votre application, activez-la dans la configuration de la session de RA de votre application afin qu'elle puisse communiquer avec l'API ARCore:

  1. Assurez-vous que le dossier Assets du projet contient un objet scriptable ARCoreExtensionsConfig. Pour en créer une, effectuez un clic droit dans le volet Assets (Éléments), puis sélectionnez Create > XR > ARCore Extensions Config (Créer > XR > Configuration des extensions ARCore).
  2. Sélectionnez l'objet scriptable ARCoreExtensionsConfig dans le dossier Assets et définissez le mode Geospatial sur Activé.

  3. Configurez l'objet de jeu ARCore Extensions pour utiliser la configuration ARCoreExtensionsConfig. Dans le volet Hierarchy (Hiérarchie), recherchez l'objet de jeu ARCore Extensions que vous avez créé lors de la configuration initiale des extensions ARCore, puis connectez le champ ARCore Extensions Config (Configuration des extensions ARCore) à l'objet scriptable ARCoreExtensionsConfig dans votre dossier Assets.

Inviter l'utilisateur à autoriser l'utilisation des données de l'appareil

Les applications qui utilisent l'API ARCore Geospatial doivent présenter à l'utilisateur un message l'invitant à accuser réception du message et à autoriser l'utilisation des données de son appareil. Pour en savoir plus, consultez les Exigences concernant la confidentialité des utilisateurs.

Vérifier la compatibilité de l'appareil

Les appareils compatibles avec ARCore ne sont pas tous compatibles avec l'API Geospatial. Pour vérifier la compatibilité de l'appareil de l'utilisateur, appelez AREarthManager.IsGeospatialModeSupported(). Si cela renvoie FeatureSupported.Unsupported, n'essayez pas de configurer la session.

Demander à l'utilisateur l'autorisation d'accéder à la position au moment de l'exécution

Les extensions ARCore demandent automatiquement les autorisations d'accéder à la position appropriées lorsque le mode géospatial est activé dans ARCoreExtensions.Update(). Si l'utilisateur n'accorde pas d'autorisation d'accéder à la position exacte, la session ne reprend pas et une erreur "Autorisation non accordée" est générée. Il s'agit d'une erreur d'arrêt qui nécessite un redémarrage pour déclencher à nouveau la demande d'autorisation.

Vérifier la disponibilité géospatiale à la position actuelle de l'appareil

Étant donné que l'API Geospatial utilise une combinaison de VPS et de GPS pour déterminer une position géospatiale, vous pouvez l'utiliser tant que l'appareil est en mesure de déterminer sa position. Dans les zones où la précision du GPS est faible, comme les espaces intérieurs et les environnements urbains denses, l'API s'appuiera sur la couverture VPS pour générer des postures de haute précision. Dans des conditions classiques, on s'attend à ce que la précision de la position VPS soit d'environ 5 mètres et la précision de rotation de 5 degrés. Utilisez AREarthManager.CheckVpsAvailability() pour déterminer si un lieu donné est couvert par le service VPS.

L'API Geospatial peut également être utilisée dans les zones qui ne sont pas couvertes par un service VPS. Dans les environnements extérieurs avec peu ou pas d'obstacles au-dessus de la tête, le GPS peut suffire à prendre une pose avec une grande précision.

Étapes suivantes