Geospatial API für die Unity-App (AR Foundation) für iOS aktivieren

Konfigurieren Sie die Einstellungen Ihrer App so, dass die Geospatial API verwendet werden kann.

Voraussetzungen

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

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

Wenn du zum ersten Mal mit ARCore entwickelst, findest du unter Erste Schritte Informationen zu Software- und Hardwareanforderungen und Voraussetzungen sowie weitere Informationen zu den von dir verwendeten Plattformen.

Wenn Sie die ARCore Geospatial API verwenden möchten, muss Ihr Projekt AR Foundation und die ARCore Extensions for AR Foundation unterstützen.

ARCore API aktivieren

Bevor Sie das Visual Positioning System (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 Hosting, die Speicherung und die Auflösung von raumbezogenen Ankern verantwortlich.

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

Der App die erforderlichen Bibliotheken hinzufügen

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

  1. Gehen Sie zu Bearbeiten > Projekteinstellungen > XR-Plug-In-Verwaltung > ARCore-Erweiterungen. Achten Sie darauf, dass iOS-Support aktiviert ausgewählt ist.
  2. Wählen Sie unter Optionale Funktionen die Option Raumbezogen aus.

Raumbezogene Funktionen in der Sitzungskonfiguration aktivieren

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

  1. Achten Sie darauf, dass der Projektordner Assets ein skriptfähiges Objekt vom Typ ARCoreExtensionsConfig enthält. Klicken Sie zum Erstellen mit der rechten Maustaste in den Bereich Assets und wählen Sie Erstellen > XR > ARCore Extensions Config aus.
  2. Wählen Sie im Ordner Assets das skriptfähige Objekt ARCoreExtensionsConfig aus und setzen Sie den geografischen Modus auf Aktiviert.

  3. Konfigurieren Sie das Spielobjekt ARCore Extensions so, dass es die Konfiguration ARCoreExtensionsConfig verwendet. Suchen Sie im Bereich Hierarchy das Spielobjekt ARCore Extensions, das Sie bei der Ersteinrichtung von ARCore-Erweiterungen erstellt haben, und verbinden Sie das Feld ARCore Extensions Config mit dem skriptfähigen Objekt ARCoreExtensionsConfig im Ordner Assets.

Nutzer auffordern, die Nutzung von Gerätedaten zuzulassen

Apps, die die ARCore Geospatial API verwenden, müssen dem Nutzer eine Aufforderung anzeigen, um die Verwendung der Daten auf 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. Rufen Sie AREarthManager.IsGeospatialModeSupported() auf, um das Gerät des Nutzers auf Kompatibilität zu prüfen. Wenn FeatureSupported.Unsupported zurückgegeben wird, versuchen Sie nicht, die Sitzung zu konfigurieren.

Nutzer während der Laufzeit um die Berechtigung zur Standortermittlung bitten

So aktivieren Sie die Standortdienste von Unity in einem Skript, das die Anfragen zu Laufzeitberechtigungen auslöst:

  1. Geben Sie in Project Settings > iOS > Other Settings > Location Usage Description den Namen der App ein, die Berechtigungen anfordert.

  2. Aktivieren Sie die Standortdienste von Unity so, dass die Anfrage für eine Laufzeitberechtigung ausgelöst wird:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Weitere Informationen finden Sie in der Dokumentation zu LocationService von Unity.

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

Da die Geospatial API eine Kombination aus VPS und GPS verwendet, um eine raumbezogene Position zu bestimmen, kann die API verwendet werden, solange das Gerät seinen Standort bestimmen kann. In Gebieten mit geringer GPS-Genauigkeit, wie z. B. in Innenräumen und dicht bebauten städtischen Umgebungen, setzt die API auf eine VPS-Abdeckung, um Positionen mit hoher Genauigkeit zu erzeugen. Unter typischen Bedingungen ist mit VPS eine Positionsgenauigkeit von etwa 5 Metern und eine Rotationsgenauigkeit von 5 Grad zu erwarten. Mit AREarthManager.CheckVpsAvailability() können Sie feststellen, ob an einem bestimmten Standort eine VPS-Abdeckung vorliegt.

Die Geospatial API kann auch in Regionen verwendet werden, in denen keine VPS-Abdeckung vorliegt. In Außenbereichen mit wenigen oder gar keinen Hindernissen über dem Kopf reicht das GPS unter Umständen aus, um eine Position mit hoher Genauigkeit zu erstellen.

Nächste Schritte