Geospatial API für die auf Android ausgerichtete Unity-App (AR Foundation) aktivieren

Konfigurieren Sie die Einstellungen Ihrer App so, dass sie die Geospatial API verwenden kann.

Voraussetzungen

Machen Sie sich mit den grundlegenden AR-Konzepten und der Konfiguration einer ARCore-Sitzung vertraut, bevor Sie fortfahren.

Weitere Informationen zur Geospatial API finden Sie unter Einführung in die Geospatial API.

Wenn Sie noch keine Erfahrung mit der Entwicklung mit ARCore haben, finden Sie unter Erste Schritte Informationen zu Software- und Hardwareanforderungen, Voraussetzungen und anderen Informationen, die speziell auf die von Ihnen verwendeten Plattformen bezogen sind.

Damit Sie die ARCore Geospatial API verwenden können, muss Ihr Projekt AR Foundation und die ARCore Extensions for AR Foundation unterstützen.

ARCore API aktivieren

Bevor Sie das visuelle Positionssystem (VPS) in Ihrer App verwenden können, müssen Sie zuerst die ARCore API in einem neuen oder vorhandenen Google Cloud-Projekt aktivieren. Dieser Dienst ist für das Hosten, Speichern und Auflösen geografischer Anker verantwortlich.

Die schlüssellose Autorisierung wird bevorzugt, aber auch die Autorisierung per API-Schlüssel wird unterstützt.

Der App erforderliche Bibliotheken hinzufügen

Nachdem Sie Ihre App zum Aufrufen der ARCore API autorisiert haben, müssen Sie Bibliotheken hinzufügen, um geografische Funktionen in Ihrer App zu aktivieren.

  1. Gehen Sie zu Bearbeiten > Projekteinstellungen > XR-Plug-in-Verwaltung > ARCore-Erweiterungen.
  2. Wählen Sie unter Optionale Funktionen die Option Geospatial aus.

Raumbezogene Funktionen in der Sitzungskonfiguration aktivieren

Nachdem Sie die geografische Funktion in Ihrer App aktiviert haben, aktivieren Sie die geografische Funktion in der AR-Sitzungskonfiguration Ihrer App, damit sie mit der ARCore API kommunizieren kann:

  1. Der Ordner Assets des Projekts muss ein scriptbares Objekt vom Typ ARCoreExtensionsConfig enthalten. Klicken Sie mit der rechten Maustaste im Bereich Assets und wählen Sie Erstellen > XR > ARCore-Erweiterungskonfiguration aus.
  2. Wählen Sie im Ordner Assets das skriptfähige Objekt ARCoreExtensionsConfig aus und setzen Sie den Raumbezogenen Modus auf Aktiviert.

  3. Konfigurieren Sie das ARCore Extensions-Game-Objekt so, dass die ARCoreExtensionsConfig-Konfiguration verwendet wird. Suchen Sie im Bereich Hierarchie nach dem Spielobjekt ARCore Extensions, das Sie beim ersten Einrichten von ARCore Extensions erstellt haben, und verbinden Sie das Feld ARCore Extensions-Konfiguration mit dem scriptbaren Objekt ARCoreExtensionsConfig im Ordner Assets.

Nutzer auffordern, die Nutzung von Gerätedaten zuzulassen

In Apps, die die ARCore Geospatial API verwenden, muss der Nutzer aufgefordert werden, die Verwendung von Daten von seinem Gerät zu bestätigen und zuzulassen. Weitere Informationen finden Sie unter Anforderungen an den Datenschutz für Nutzer.

Gerätekompatibilität prüfen

Nicht alle Geräte, die ARCore unterstützen, unterstützen auch die Geospatial API. Rufe AREarthManager.IsGeospatialModeSupported() auf, um die Kompatibilität des Geräts des Nutzers zu prüfen. Wenn FeatureSupported.Unsupported zurückgegeben wird, versuchen Sie nicht, die Sitzung zu konfigurieren.

Nutzer bei Laufzeit um Berechtigungen zur Standortermittlung bitten

ARCore-Erweiterungen fordern automatisch die entsprechenden Berechtigungen für die Standortermittlung an, wenn der geografische Modus in ARCoreExtensions.Update() aktiviert ist. Wenn der Nutzer keine Berechtigung für die genaue Standortermittlung erteilt, wird die Sitzung nicht fortgesetzt und der Fehler „Berechtigung nicht erteilt“ ausgegeben. Dies ist ein Beendigungsfehler und erfordert einen Neustart, um die Berechtigungsanfrage noch einmal auszulösen.

Geospatiale Verfügbarkeit am aktuellen Standort des Geräts prüfen

Da die Geospatial API eine Kombination aus VPS und GPS zur Bestimmung einer geospatialen Pose verwendet, kann die API verwendet werden, solange das Gerät seinen Standort bestimmen kann. In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und in dicht bebauten städtischen Gebieten, nutzt die API die VPS-Abdeckung, um möglichst genaue Posen zu generieren. Unter normalen Bedingungen kann mit VPS eine Positionsgenauigkeit von etwa 5 Metern und eine Drehungsgenauigkeit von 5 Grad erwartet werden. Mit AREarthManager.CheckVpsAvailability() können Sie prüfen, ob ein bestimmter Ort VPS-Abdeckung hat.

Die Geospatial API kann auch in Gebieten eingesetzt werden, die keine VPS-Abdeckung haben. In Umgebungen im Freien mit wenig oder gar keinen Hindernissen kann GPS ausreichen, um eine Pose mit hoher Genauigkeit zu generieren.

Nächste Schritte