Apps mit ARCore für Jetpack XR durch Wahrnehmung verbessern

XR‑Geräte, für die der Leitfaden gilt
Dieser Leitfaden hilft Ihnen dabei, Erlebnisse für die folgenden Arten von XR-Geräten zu entwickeln.
XR-Headsets
Kabelgebundene XR-Datenbrille
Audio- und
Display-Brillen

ARCore für Jetpack XR bietet leistungsstarke Wahrnehmungsfunktionen, mit denen Ihre App die reale Welt über eine Vielzahl von APIs verstehen kann. Einige dieser APIs helfen Ihnen, immersive Erlebnisse für Geräte wie XR-Headsets und kabelgebundene XR-Datenbrillen zu verbessern, andere helfen Ihnen, Augmented-Reality-Erlebnisse für Geräte wie KI-Brillen zu verbessern, und wieder andere helfen Ihnen, App-Erlebnisse für alle Arten von Android XR-Geräten zu verbessern.

Mit ARCore für Jetpack XR können Sie beispielsweise planare Daten abrufen, Inhalte an einer festen Position im Raum verankern oder eine raumbezogene Position verwenden, um Inhalte an einem realen Ort zu verankern.

Bibliotheksabhängigkeiten hinzufügen

Bevor Sie Wahrnehmungsfunktionen in Ihrer XR-App verwenden, müssen Sie die erforderlichen Abhängigkeiten hinzufügen. Diese hängen davon ab, welche Art von Nutzerfreundlichkeit der App Sie mit AR verbessern möchten.

Auf eine Sitzung zugreifen

Die Wahrnehmungsfunktionen in ARCore für Jetpack XR basieren auf einem Session, der die Jetpack XR-Laufzeit verwendet.

Wie Ihre App auf eine Sitzung zugreifen sollte, hängt von den Arten von Nutzerfreundlichkeit der App ab, die Sie mit Wahrnehmungsfunktionen verbessern:

Sitzung mit Jetpack XR Runtime erstellen

Wenn Sie eine Sitzung erstellen möchten, übergeben Sie ein Context an die Methode create(). Dieser Context kann ein Activity auf immersiven XR-Geräten oder Mobilgeräten oder ein projizierter Kontext auf Smart Glasses sein.

Das Erstellen einer ARCore-Sitzung kann eine ressourcenintensive Aufgabe sein und sollte im Hintergrund verarbeitet werden, wie im folgenden Beispiel gezeigt:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

Die Funktion create() kann einen optionalen Parameter LifecycleOwner verwenden, mit dem der Lebenszyklus der Sitzung von einem anderen LifecycleOwner verwaltet werden kann. Der Lebenszyklus des LifecycleOwner muss innerhalb des bereitgestellten Kontexts beginnen und enden, da es sonst zu Lecks im Session kommen kann.

Sitzung konfigurieren

Einige Funktionen sind möglicherweise standardmäßig deaktiviert und müssen konfiguriert werden, damit sie funktionieren. Wenn Sie eine Sitzung konfigurieren möchten, verwenden Sie configure() und geben Sie die Konfigurationsoptionen an, die für Session erforderlich sind. Weitere Informationen zur erforderlichen Konfiguration für die verschiedenen AR-Funktionen finden Sie auf den entsprechenden Seiten für die einzelnen AR-Funktionen.

Nächste Schritte

Sobald Ihre App eine Sitzung hat, können Sie sich die verschiedenen Möglichkeiten ansehen, wie Sie die App-Nutzung für verschiedene XR-Geräte verbessern können: