Qualitätsrichtlinien für Android XR-Apps

Definitionen der Kompatibilitätsstufen

Damit Sie überprüfen können, ob Ihre App auf XR‑Headsets und kabelgebundenen XR‑Datenbrillen eine gute Nutzererfahrung bietet, sehen Sie sich die folgenden Kompatibilitätschecklisten und ‑tests an.

Die Checklisten und Tests definieren eine umfassende Reihe von Qualitätsanforderungen für die meisten Arten von Android-Apps.

Mit Android XR kompatible mobile App

Eine mit Android XR kompatible mobile App ist eine vorhandene mobile App, die nicht für einen großen Bildschirm oder einen anderen Formfaktor angepasst wurde. Diese Art von App ist automatisch mit Android XR kompatibel, sofern sie keine Funktionen erfordert, die nicht unterstützt werden, z. B. Telefonie. Nutzer können wichtige Aufgaben ausführen, aber die Nutzererfahrung ist weniger optimal als bei einer für Android XR optimierten App.

Diese Art von App wird im Vollbildmodus auf einem Panel in der Umgebung des Nutzers ausgeführt. Das Layout ist jedoch bei größeren Größen möglicherweise nicht ideal. Apps, die im Manifest kompakte Größen angeben, werden entsprechend angezeigt. Die App wird nicht im Kompatibilitätsmodus ausgeführt und ist daher nicht mit Letterboxing versehen. Die App bietet eine funktionale Nutzung der wichtigsten Eingabemethoden von Android XR (Eye-Tracking + Gesten oder Raycast-Hände) und grundlegende Unterstützung für externe Eingabegeräte wie Tastatur, Maus, Trackpad und Gamecontroller. Die Größe kann möglicherweise nicht geändert werden.

Mit Android XR kompatible mobile Apps werden automatisch aktiviert und sind im Google Play Store verfügbar. Eine App, die aufgrund nicht unterstützter Funktionsanforderungen nicht kompatibel ist, kann nicht über den Google Play Store installiert werden.

Mit Android XR kompatible App für große Bildschirme

Eine mit Android XR kompatible App für große Bildschirme ist eine App der Stufe 1 oder 2 für große Bildschirme, bei der Layoutoptimierungen für alle Bildschirm größen und Gerätekonfigurationen (z. B. große Bildschirme zusätzlich zu Mobilgeräten) implementiert wurden. Außerdem bietet sie erweiterte Unterstützung für externe Eingabegeräte und Multitasking. Mit Android XR kompatible Apps für große Bildschirme werden automatisch aktiviert und sind im Google Play Store verfügbar.

Eine mit Android XR kompatible App für große Bildschirme wird im Vollbildmodus auf einem räumlichen Panel in der Umgebung des Nutzers mit einer Auflösung von 1024 × 720 dp ausgeführt. Nutzer können auf natürliche Weise mit der App interagieren, indem sie ihre Augen und Hände verwenden. Ansonsten ähnelt sie der App für große Bildschirme.

Für Android XR optimierte App

Eine für Android XR optimierte App bietet eine Nutzererfahrung, die speziell für XR entwickelt wurde, und implementiert Funktionen, die nur auf XR verfügbar sind. Sie können die Funktionen von Android XR voll ausschöpfen und die Erlebnisse Ihrer App verbessern, indem Sie XR‑Funktionen (z. B. räumliche Panels) und XR‑Inhalte (z. B. 3D‑Videos) zu Ihren Anwendungen hinzufügen. Dazu können Sie das Android Jetpack XR SDK, Unity oder OpenXR verwenden.

Mit dem Jetpack XR SDK können Sie XR‑spezifische Funktionen wie räumliche Panels, Umgebungen, 3D‑Modelle, Spatial Audio, 3D‑/räumliche Videos / Fotos, Anker und andere räumliche UI-Elemente wie Orbiter bereitstellen.

Damit eine App als für Android XR optimierte App gilt, muss sie mindestens eine XR‑spezifische Funktion oder einen XR‑spezifischen Inhalt implementieren. Für bestimmte Anwendungsfälle können weitere Anforderungen an Funktionen und Inhalte gelten. Weitere Informationen finden Sie unten.

Alle Apps, die mit Unity oder OpenXR erstellt wurden, gelten als optimiert. Apps, die mit Unity oder OpenXR erstellt wurden, müssen Qualitätsmesswerte und Mindestanforderungen erfüllen, um als für Android XR optimierte App zu gelten. Eine App mit einer niedrigen Bildrate, Abstürzen oder anderen negativen Nutzererfahrungen würde beispielsweise nicht infrage kommen.

Checkliste zur Android XR-Kompatibilität

Diese Checklisten zur Kompatibilität definieren Kriterien, mit denen Sie den Grad der Unterstützung Ihrer App für XR bewerten können. Folgende Unterstützungsstufen sind möglich:

Mit Android XR kompatible mobile App

Ihre App muss die grundlegenden Anforderungen an die App-Qualität erfüllen.

Ihre App sollte auch alle anwendbaren Richtlinien zur Barrierefreiheit für andere Formfaktoren wie Smartphones und Tablets einhalten (z. B. Farb kontrast).

Mit Android XR kompatible App für große Bildschirme

Jede App der Stufe 1 oder der Stufe 2 für große Bildschirme gilt als mit Android XR kompatible App für große Bildschirme. Die Qualitätsrichtlinien für große Bildschirme bieten einen strukturierten Ansatz, um eine gute Nutzererfahrung auf Android XR zu gewährleisten. Gerätekonfigurationen wie Drehung oder Falten/Entfalten sind jedoch nicht erforderlich.

Für Android XR optimierte App

Da für Android XR optimierte Apps sehr unterschiedlich sind, gelten einige der aufgeführten Funktionen nur für bestimmte Arten von Apps. Wählen Sie die Funktionen aus, die für Ihre Anwendung geeignet sind. Android-Apps müssen auch den Richtlinien für Android auf großen Bildschirmen und Mobilgeräten entsprechen. Sehen Sie sich die Anforderungen an, die für Ihre Anwendung geeignet sind. Einige davon können auch zu potenziellen Richtlinienaktualisierungen führen.

App-Typ / Anwendungsfall

Kategorie

Flächendiagramm

Anleitung

Allgemeine Mindestanforderung (Android und OpenXR)

Datenschutz &Sicherheit

Anmeldung im Konto (Nutzererfahrung bei der ersten Verwendung)

Wenn Ihre App ein Anmeldesystem verwendet, präsentieren Sie die Anmeldedaten des Nutzers (z. B. den Nutzernamen) nach erfolgreicher Authentifizierung deutlich. Dadurch wird Vertrauen geschaffen, da das aktive Konto bestätigt wird. Außerdem sollten Sie ein leicht zugängliches Menü oder eine Einstellungsseite einfügen, auf der Nutzer ihre Kontoinformationen jederzeit einsehen und verwalten können.

Sicherheit und Komfort

Flackern

Um die Sicherheit und das Wohlbefinden aller Nutzer zu gewährleisten, ist es wichtig, das Risiko von Flackereffekten in Ihrer Anwendung zu minimieren.

Vermeiden Sie es, Designelemente einzubauen, die Flackern verursachen können.

1. Wenn ein Flackereffekt unbedingt erforderlich ist, muss die Blinkrate sehr niedrig sein (weniger als 3 Blitze pro Sekunde) und der blinkende Bereich klein und unauffällig.

2. Sie sollten die Möglichkeit bieten, den Effekt über die Einstellungen oder Präferenzen zu deaktivieren.

3. Zeigen Sie vor dem Flackern eine deutliche Warnmeldung an.

Reisekrankheit vermeiden

Beachten Sie diese Richtlinien, um zu vermeiden, dass Nutzer unter Reisekrankheit leiden:

  • Priorisieren Sie den visuellen Komfort, indem Sie abrupte Kamerabewegungen vermeiden. Sorgen Sie für einen konsistenten Bezugspunkt, um den Nutzer nicht zu desorientieren.
  • Drehen Sie die Kamera nicht im Laufe der Zeit. Wenn sich die Richtung der Kamera ändert, wird sie auf die neue Ausrichtung ausgerichtet.

Eingabe

Größe der Interaktionsziele

Interaktionsziele haben eine Mindest- und eine empfohlene Größe, die auf der beabsichtigten Interaktionsentfernung basiert:

  • Mindestgröße: EntfernungInM × 0,868 × 48 = M
  • Empfohlene Größe: EntfernungInM × 0,868 × 56 = M oder größer

Wenn Sie das Jetpack XR SDK verwenden, empfehlen wir eine Mindestgröße von 48 × 48 dp und eine empfohlene Größe von 56 × 56 dp oder größer für das Tippziel.

Technische XR‑Funktionalität

Handeingabe

Ihre App unterstützt die natürliche Handeingabe als grundlegende Interaktionsmethode für Android XR, einschließlich der Anforderungen an das Raycasting mit der Hand und der Gestenunterstützung für Eingabeprimitive.

Ihre App kann ohne Controller gespielt oder anderweitig verwendet werden, kann aber bei Bedarf mit Controllern erweitert werden.

Boundary (früher Guardian)

Wenn Nutzer sich in Ihrer App von ihrem Ausgangspunkt (beim Start der App) in ihrem physischen Raum bewegen sollen, wird entweder Passthrough angefordert oder PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE im Manifest deklariert.

Wenn Ihre App XR_BOUNDARY_TYPE_LARGE verwendet, kann sie vollständig gespielt werden, ohne dass die Begrenzung angezeigt wird (im Radius von 2,0 m; Hinweis: Boundary-Passthrough wird ab einem Radius von 1,5 m eingeblendet).

Leistung

Rendering

Ihre App rendert jeden Frame in weniger als 11,1 ms (90 Hz) und weniger als 13,8 ms (72 Hz).

Auflösung

Ihre App hat eine Auflösung von mindestens 1856 × 2160 pro Auge.

App-Startzeit

Nutzer möchten so schnell wie möglich mit Ihrer App oder Ihrem Spiel interagieren können. Die Definition einer guten Start- oder Ladezeit variiert je nach Kategorie. Im Allgemeinen empfehlen wir jedoch, die Zeit zwischen dem Start und der ersten Interaktion zu minimieren.

Unten finden Sie die Zielzeiten:

  • Mittlere Kaltstartzeit: weniger als 2 Sekunden
  • Mittlere Warmstartzeit: weniger als 1 Sekunde

Weitere Informationen finden Sie unter App-Startzeit.

ANRs

Ihre App stürzt nicht ab und blockiert den UI‑Thread nicht, wodurch ANR‑Fehler („Android antwortet nicht“) verursacht werden.

Ihre App hat in 99,5% der täglichen Sitzungen weniger als einen ANR.

Ihre App verwendet den Pre-Launch-Bericht von Google Play, um potenzielle Stabilitätsprobleme zu erkennen. Achten Sie nach der Bereitstellung auf die Seite „Android Vitals“ in der Google Play Console.

Absturzrate

Verbrauchen Sie nicht zu viele Systemressourcen, die sich auf den Rest des Systems und andere Apps auswirken. Die Absturzrate sollte bei etwa 1% liegen.

Android-App-Baseline (für Android XR optimiert)

Visuelle Elemente und Nutzererfahrung

Grundlegende XR‑Funktionen

Ihre App implementiert mindestens eine XR‑spezifische Funktion oder einen XR‑spezifischen Inhalt, um die Nutzererfahrung zu verbessern. Dazu können ein Orbiter, ein oder mehrere räumliche Panels, Umgebungen oder 3D‑Objekte gehören.

Räumliche Panels

Wenn Sie mit Panels Multitasking betreiben (d. h. zwei oder mehr Aufgaben gleichzeitig ausführen), erstellen Sie separate räumliche Panels. Sie können beispielsweise separate räumliche Panels für Chatfenster und Listen erstellen.

Umgebungen

Wenn eine virtuelle Umgebung angezeigt wird, kann die Helligkeit ablenken und ermüden. Ihre App bietet einen sicheren Farbtonbereich ohne Helligkeitsspitzen, die mit der UI in Konflikt stehen oder zu Ermüdung führen können. Die UI ist in alle Richtungen gut lesbar, insbesondere im mittleren horizontalen Bereich des Blicks des Nutzers. (Ausführliche Richtlinien werden in Zukunft verlinkt)

Übergang zwischen Home Space (HSM) und Full Space (FSM)

Wenn Nutzer zu Full Space weitergeleitet werden, bietet Ihre App einen Einstiegspunkt, über den Nutzer schnell zwischen Home Space und Full Space wechseln können. Verwenden Sie ein Symbol oder eine Beschriftung und platzieren Sie die Schaltfläche an einer leicht zugänglichen Stelle.

Räumliche Panels

Platzieren Sie Menüs, Assets und Steuerelemente in einem separaten Panel oder Orbiter. Fügen Sie diese Komponenten nicht im Hauptbearbeitungsbereich ein.

Menü-/Listenscrollen

Ihre App aktualisiert Scrollinteraktionen (insbesondere über Karussells oder vertikale Listen), um Physik oder Schwung zu verwenden. Beim Scrollen wird beispielsweise Schwung verwendet, sodass sich Inhalte in Karussells und Listen nach einer Nutzerinteraktion noch kurz weiterbewegen, bevor sie allmählich zum Stillstand kommen (anstatt genau dann anzuhalten, wenn der Nutzer die Eingabe beendet).

Video-/Media-Funktionalität

Visuelle Elemente und Nutzererfahrung

Spatial Player (nur Android)

Ihre App ermöglicht es Nutzern, Inhalte in Full Space anzusehen.

Entfernen Sie die Wiedergabesteuerelemente aus einem Overlay über den Inhalten und platzieren Sie sie stattdessen in einem separaten Panel oder Orbiter.

Legen Sie für Panels mit Videowiedergabe das Seitenverhältnis so fest, dass Letterboxing entfernt wird.

Spatial Audio

Sie sollten Spatial Audio unterstützen, einschließlich Panel-gesperrtem Audio oder Surround-Sound.

Gleichzeitige Videowiedergabe

Wenn Ihre App mehrere gleichzeitige Videostreams unterstützt, werden die folgenden Informationen in der Benutzeroberfläche deutlich angezeigt:

  • Welche Videostreams geben Audio aus?
  • Welche Wiedergabesteuerelemente wirken sich auf welche Videostreams aus?

Umgebung

Wenn Inhalte in Full Space wiedergegeben werden, können Nutzer in Ihrer App entweder Passthrough dimmen oder virtuelle Umgebungen auswählen.


OpenXR™ und das OpenXR-Logo sind Marken von The Khronos Group Inc. und sind als Marke in China, der Europäischen Union, Japan und dem Vereinigten Königreich eingetragen.