Activer l'API Geospatial pour votre application iOS

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

Prérequis

Avant de continuer, assurez-vous de bien comprendre les concepts fondamentaux de la RA et de savoir configurer une session ARCore.

Si vous souhaitez exécuter un exemple d'application illustrant la fonctionnalité décrite ici, consultez le guide de démarrage rapide ARCore Geospatial pour iOS.

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

Si vous débutez dans le développement avec ARCore, consultez la section Premiers pas pour en savoir plus sur les exigences logicielles et matérielles, les prérequis et d'autres informations spécifiques aux plates-formes que vous utilisez.

Activer l'API ARCore

Avant d'utiliser le système VPS (Visual Positioning System) dans votre application, vous devez d'abord activer l'API ARCore dans un projet Google Cloud nouveau ou existant. Ce service est chargé d'héberger, de stocker et de résoudre les ancrages géospatiaux.

L'autorisation sans clé est recommandée, mais l'autorisation par clé API est également acceptée.

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.

Mettez à jour le fichier Podfile de votre application pour inclure le SDK ARCore et la gestion des versions iOS compatibles. Pour ce faire :

  1. Ajoutez les éléments platform et pod suivants au fichier Podfile de votre projet:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.46.0'
    

    Vous pouvez également spécifier platform :ios, '10.0' si vous souhaitez prendre en charge iOS 10. Notez toutefois que l'API Geospatial ne fonctionnera qu'à l'exécution sur iOS 11 ou version ultérieure.

  2. Ouvrez une fenêtre de terminal et exécutez pod install à partir du dossier où se trouve votre projet Xcode.

    Cela génère un fichier .xcworkspace que vous utilisez pour compiler et exécuter l'application.

Assurez-vous que votre environnement de développement répond aux exigences du SDK ARCore, comme décrit dans la procédure de démarrage rapide.

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

Vérifier la compatibilité de l'appareil

Tous les appareils compatibles avec ARCore ne sont pas compatibles avec l'API Geospatial, comme décrit dans le guide de démarrage.

Utilisez GARSession.isGeospatialModeSupported: pour vérifier l'appareil, comme dans l'exemple suivant:

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

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

Votre application doit demander les autorisations d'accéder aux données de localisation suivantes au moment de l'exécution, avant de configurer la session:

Vérifier la disponibilité de l'API Geospatial à la position actuelle de l'appareil

Étant donné que l'API Geospatial utilise une combinaison de VPS et de GPS pour déterminer une transformation géospatiale, elle peut être utilisée 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'appuie sur la couverture du VPS pour générer des transformations de haute précision. Dans des conditions normales, le VPS peut fournir une précision de position d'environ 5 mètres et une précision de rotation de 5 degrés. Utilisez GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: pour déterminer si un emplacement donné est couvert par le VPS.

L'API Geospatial peut également être utilisée dans les zones non couvertes par le VPS. Dans les environnements extérieurs où il y a peu ou pas d'obstacles au-dessus, le GPS peut suffire à générer une transformation avec une grande précision.

Étape suivante