Die ARCore Cloud Anchor API (oder ARCore Cloud Anchor-Dienst) bietet Cloud-Anchor-Funktionen für Ihre iOS-Apps, sodass Nutzer auf iOS- und Android-Geräten AR-Erfahrungen teilen können.
Der Leitfaden zeigt euch, wie ihr:
- Entwicklungsumgebung für die Arbeit mit Cloud Anchors einrichten
- Anker in einer Beispiel-App hosten und auflösen
Voraussetzungen
Zur Verwendung von Cloud Anchors benötigen Sie Folgendes:
Xcode-Version 10.1 oder höher
CocoaPods 1.4.0 oder höher
Ein ARKit-kompatibles Apple-Gerät mit iOS 11.0 oder höher (Bereitstellungsziel von iOS 10.0 oder höher erforderlich)
Cloud Anchors verwenden
In den folgenden Schritten werden die Cloud Anchors-Beispielanwendung verwendet, um die kritischen Aufgaben zum Konfigurieren und Erstellen einer Anwendung zu sehen, die ARCore Cloud Anchors unterstützt.
Cloud Anchor-Beispielanwendung herunterladen
Klonen Sie das ARCore SDK for iOS oder laden Sie es von GitHub herunter, um den Beispielcode der App abzurufen.
Öffnen Sie ein Terminal- oder Finder-Fenster und wechseln Sie zu dem Ordner, in dem Sie das SDK geklont oder heruntergeladen haben.
Den Beispielcode finden Sie in
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Der Beispielcode für Persistent Cloud Anchors befindet sich in
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Sitzungseinrichtung
Die Beispielanwendung führt beim Einrichten der Sitzung die folgenden wichtigen Aufgaben aus:
GARSession
wird erstellt- Legt einen
GARSessionDelegate
fest, um Callbacks vom Hosten und Auflösen von Vorgängen zu erhalten. - Einen
ARSession
erstellen und ausführen - Einen
ARSessionDelegate
festlegen. - Wird in der
session:didUpdateFrame:
-MethodeARFrame
s anGARSession
übergeben.
Freigabe der Cloud-Anker-ID einrichten
Die Beispielanwendung von Cloud Anchors verwendet Firebase, um Cloud Anchor-IDs zwischen Geräten zu teilen. Sie können in Ihren eigenen Apps eine andere Lösung verwenden.
So richten Sie die Firebase-Datenbank in der Beispiel-App ein:
- Folgen Sie der Firebase-Anleitung zum Hinzufügen von Firebase zu einer App.
- Lade die Datei
GoogleService-Info.plist
herunter, die beim Hinzufügen von Firebase zu deiner App generiert wird. - Aktivieren Sie Firebase-Speicher für das Beispiel:
- Rufen Sie die Firebase Console auf und wählen Sie das Projekt aus, das Sie für die Beispiel-App eingerichtet haben.
- Wählen Sie das Steuerfeld „Database“ aus.
- Klicken Sie bei der Option Realtime Database auf Get Started.
- Das Menü Security rules for Realtime Database wird geöffnet.
- Wählen Sie zum Ausführen der Stichprobe Start in test mode aus.
- Hinweis: Wenn Sie Firebase für eine App verwenden, die Sie veröffentlichen möchten, sollten Sie strengere Sicherheitsregeln verwenden.
- Füge in Xcode die Datei
GoogleService-Info.plist
nebenInfo.plist
hinzu.
API-Schlüssel hinzufügen
Um Cloud Anchors verwenden zu können, müssen Sie der App einen API-Schlüssel hinzufügen.
Erstellen Sie einen API-Schlüssel. Informationen zur Verwendung von API-Schlüsseln finden Sie in der Google Cloud Platform Console-Hilfe unter API-Schlüssel einrichten.
Aktivieren Sie die ARCore Cloud Anchor API für Ihr Google Cloud Platform-Projekt.
Füge in Xcode deinen API-Schlüssel der App hinzu. Fügen Sie dazu den Schlüssel in den folgenden Code in
CloudAnchorManager.m
ein:self.gSession = [GARSession sessionWithAPIKey:@"Replace me with your API key." bundleIdentifier:nil error:nil];
Pod-Update ausführen
Die App CloudAnchorExample wird mit einer Podfile
ausgeliefert, die mit dem von Ihnen benötigten ARCore SDK und iOS-Versionen vorkonfiguriert ist. So installieren Sie die Abhängigkeiten:
- Öffnen Sie ein Terminalfenster und führen Sie
pod update
in dem Ordner aus, in dem sich das Xcode-Projekt befindet.
Dadurch wird eine.xcworkspace
-Datei generiert, die du später zum Erstellen und Ausführen der Anwendung verwendest.
Weitere Informationen zum Konfigurieren von Podfile
in Ihren eigenen Apps finden Sie unter ARCore SDK in Apps einbinden.
Öffne die Datei
.xcworkspace
für das Projekt in Xcode.Achten Sie darauf, die Build-Datei auf Basis der Datei
.xcworkspace
und nicht der Datei.xcodeproj
zu erstellen, um Build-Fehler zu vermeiden.
App Bundle-ID ändern
Ändern Sie in Xcode die Bundle-ID der App, damit Sie sie mit Ihrem Team signieren können.
App erstellen und ausführen
Verbinden Sie Ihr Gerät und starten Sie die App in Xcode.
Optional: Wenn Sie die Beispielanwendung erstellen und ausführen, finden Sie weitere Informationen zur Verwendung der Anwendung zum Hosten und Auflösen von Cloud Anchors im folgenden Abschnitt.
Beispiel-App testen
Erstellen Sie die Beispielanwendung und führen Sie sie aus der Datei
.xcworkspace
aus, um sie auf Ihrem Gerät zu starten.Wenn Sie dazu aufgefordert werden, gewähren Sie der App Kameraberechtigungen. ARKit erkennt dann Ebenen vor Ihrer Kamera.
Tippe auf HOST, um den Hostingmodus zu aktivieren. Es wird ein Zimmercode zum Teilen gehosteter Anker generiert, der auf Ihrem Bildschirm angezeigt wird.
Tippen Sie auf ein Flugzeug, um dort einen Anker zu hosten.
- Über die App wird ein Andy-Android-Objekt auf dem Flugzeug platziert und ein Anker daran befestigt.
- Eine Hostanfrage wird an die ARCore Cloud Anchor API gesendet. Die Hostanfrage enthält Daten, die die Position des Ankers relativ zu den visuellen Elementen in der Nähe darstellen.
- Sobald der Anker gehostet wird, wird eine ID abgerufen, mit der Cloud-Anchors in diesem Space aufgelöst werden.
Tippen Sie auf RESOLVE und geben Sie einen Raumcode ein, um über dasselbe oder ein anderes Gerät auf zuvor gehostete Cloud Anchors für diesen Chatroom zuzugreifen.
- Eine Klärungsanfrage wird an die ARCore Cloud Anchor API gesendet.
- Die Auflösungsanfrage enthält eine Cloud-Anchor-ID. Wenn die ID mit einem gehosteten Anker übereinstimmt und die Lokalisierung erfolgreich ist, gibt der Server die Transformation des Ankers in Ihren lokalen Koordinaten zurück.
- Die Beispielanwendung verwendet die Transformation, um den Anker zur Szene hinzuzufügen und damit verknüpfte virtuelle Objekte zu rendern.
ARCore SDK in Apps einbinden
In deinen eigenen Apps musst du dein Podfile
so aktualisieren, dass es das ARCore SDK und die unterstützte iOS-Version enthält. Das geht so:
Füge dem Projekt
Podfile
die folgendenplatform
undpod
hinzu:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.33.0'
- Öffnen Sie ein Terminalfenster und führen Sie
pod update
in dem Ordner aus, in dem sich Ihr Xcode-Projekt befindet.
Dadurch wird eine.xcworkspace
-Datei generiert, die Sie zum Erstellen und Ausführen der Anwendung verwenden.
Persistente Cloud-Anchors
Wie unter Cloud-Anker mit Persistenz hosten beschrieben, können Sie für den Cloud-Anker eine Gültigkeitsdauer von bis zu 365 Tagen festlegen. Beispielcode zum Verwenden von nichtflüchtigen Cloud-Anchors ist im Verzeichnis /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
im ARCore SDK for iOS von GitHub verfügbar.
Weitere Informationen
Sehen Sie sich den Entwicklerleitfaden für Cloud Anchors für iOS an und sehen Sie sich den Beispielcode für Apps und die Verwendung von Cloud Anchors in Ihren eigenen Apps an.
Details finden Sie in der ARCore iOS API-Referenz.