Definitionen der Kompatibilitätsstufen
Um zu prüfen, ob Ihre App auf XR-Headsets und kabelgebundenen XR-Brillen eine gute Nutzerfreundlichkeit bietet, sehen Sie sich die folgenden Kompatibilitätschecklisten und ‑tests an.
Die Checklisten und Tests definieren umfassende 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 die Anpassung an ein großes Display oder einen anderen Formfaktor geändert 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 kritische Aufgabenabläufe ausführen, aber die Nutzererfahrung ist weniger optimal als bei einer Android XR-App mit Differenzierung.
Diese Art von App wird im Vollbildmodus auf einem Panel in der Umgebung des Nutzers ausgeführt, aber ihr Layout ist bei größeren Größen möglicherweise nicht ideal. Apps, in deren Manifest kompakte Größen angegeben sind, werden entsprechend angezeigt. Die App wird nicht im Kompatibilitätsmodus ausgeführt und ist daher nicht letterboxed. Die App bietet eine funktionale Nutzung der wichtigsten Eingabemodalitäten 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.
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 Play Store installiert werden.
Mit Android XR kompatible App für große Displays
Eine mit Android XR kompatible App für große Bildschirme ist eine App der Tier 1- oder Tier 2-Kategorie für große Bildschirme, in der Layoutoptimierungen für alle Bildschirmgrößen und Gerätekonfigurationen (z. B. große Bildschirme zusätzlich zu Mobilgeräten) implementiert wurden. Außerdem bietet sie eine verbesserte Unterstützung für externe Eingabegeräte und Multitasking. Apps für große Bildschirme, die mit Android XR kompatibel sind, werden automatisch aktiviert und sind im Play Store verfügbar.
Eine mit Android XR kompatible App für große Bildschirme wird im Vollbildmodus auf einem räumlichen Bereich in der Umgebung des Nutzers mit einer Auflösung von 1.024 × 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 Displays.
Differenzierte Android XR-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 Android XR-Funktionen voll ausschöpfen und die Nutzererfahrung Ihrer App verbessern, indem Sie XR-Funktionen (z. B. räumliche Panels) und XR-Inhalte (z. B. 3D-Videos) 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, räumliches Audio, 3D- und räumliche Videos/Fotos, Anker und andere räumliche Benutzeroberflächen wie Orbiters bereitstellen.
Damit eine App als differenzierte Android XR-App gilt, muss sie mindestens eine XR-spezifische Funktion oder XR-spezifische Inhalte enthalten. Für bestimmte Anwendungsfälle gelten möglicherweise zusätzliche Anforderungen an Funktionen und Inhalte. Einzelheiten dazu findest du weiter unten.
Alle Apps, die mit Unity oder OpenXR erstellt wurden, gelten als differenziert. Apps, die mit Unity oder OpenXR entwickelt wurden, müssen Qualitätsmesswerte und Mindestanforderungen erfüllen, um als Android XR-App zu gelten. Eine App mit niedriger Framerate, Abstürzen oder anderen negativen Nutzererfahrungen würde beispielsweise nicht infrage kommen.
Checkliste zur Kompatibilität von Android XR
Diese Kompatibilitätsprüflisten enthalten Kriterien, mit denen Sie den Grad der Unterstützung Ihrer App für XR bewerten können. Folgende Supportstufen sind verfügbar:
Mit Android XR kompatible mobile App
Ihre App muss die grundlegenden Qualitätsanforderungen für Apps erfüllen.
Ihre App sollte auch alle anwendbaren Bedienungshilfen-Richtlinien für andere Formfaktoren wie Smartphones und Tablets einhalten (z. B. Farbkontrast).
Mit Android XR kompatible App für große Displays
Jede Tier 1- oder Tier 2-App für große Displays gilt als Android XR-kompatible App für große Displays. Die Qualitätsrichtlinien für Apps für große Displays bieten einen strukturierten Ansatz, um eine optimale Nutzerfreundlichkeit auf Android XR zu gewährleisten. Gerätezustände wie Drehen oder Ein-/Aufklappen sind jedoch nicht erforderlich. Ebenso wird die Verwendung von Stiften unter Android XR nicht unterstützt.
Für Android XR optimierte App
Da sich Android XR-Apps stark von anderen Apps unterscheiden, 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 gelten. Einige davon könnten sich auch in potenzielle Richtlinienaktualisierungen verwandeln.
App-Typ / Anwendungsfall |
Category |
Flächendiagramm |
Anleitung |
|---|---|---|---|
Allgemeine Baseline-Anforderung (Android und OpenXR) |
Datenschutz & Sicherheit |
Kontoanmeldung (Erstnutzung) |
Wenn Ihre App ein Anmeldesystem verwendet, müssen die Anmeldedaten des Nutzers (z. B. der Nutzername) nach erfolgreicher Authentifizierung deutlich angezeigt werden. Das schafft Vertrauen, da das aktive Konto bestätigt wird. Außerdem muss ein leicht zugängliches Menü oder eine Einstellungsseite vorhanden sein, über die Nutzer ihre Kontoinformationen jederzeit aufrufen 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 Stroboskopeffekten in Ihrer Anwendung zu minimieren. Vermeiden Sie es, absichtlich Designelemente einzubauen, die Stroboskop-Effekte auslösen können. 1. Wenn ein Stroboskopeffekt unbedingt erforderlich ist, muss die Blinkrate sehr niedrig sein (unter 3 Blinken pro Sekunde) und der blinkende Bereich klein und dezent. 2. Sie sollten die Möglichkeit bieten, die Funktion über die Einstellungen oder Präferenzen zu deaktivieren. 3. Vor dem Auftreten von Stroboskop-Effekten wird eine deutliche Warnmeldung angezeigt. |
|
Bewegungskrankheit vermeiden |
Halten Sie sich an diese Richtlinien, um bei Nutzern keine Reisekrankheit auszulösen:
|
||
Eingang |
Größe der Interaktionsziele |
Interaktive Zielbereiche haben eine Mindestgröße und eine empfohlene Größe, die vom beabsichtigten Interaktionsabstand abhängt:
Wenn Sie das Jetpack XR SDK verwenden, empfehlen wir eine Mindestgröße von 48 × 48 dp und eine empfohlene Tippzielgröße von 56 × 56 dp oder größer. |
|
Technische XR-Funktionen |
Eingabe per Hand |
Ihre App unterstützt die natürliche Handeingabe als grundlegende Interaktionsmethode für Android XR, einschließlich der Anforderungen für Hand-Raycasting und der Unterstützung von Gesten für Eingabeprimitive. Ihre App kann ohne Controller gespielt oder anderweitig verwendet werden, aber Sie können sie auch mit Controllern erweitern. |
|
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 Wenn Ihre App |
||
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 Pixeln 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. Grundsätzlich empfehlen wir jedoch, die Zeit zwischen dem Start und der ersten Interaktion zu minimieren. Unten finden Sie die Zieldauern:
Weitere Informationen finden Sie unter App-Startzeit. |
||
ANRs |
Ihre App stürzt nicht ab und blockiert den UI-Thread nicht, was zu ANR-Fehlern („Android Not Responding“) führt. Bei 99,5% der täglichen Sitzungen Ihrer App tritt weniger als ein ANR-Fehler auf. 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 übermäßig viele Systemressourcen, die sich auf das restliche System und andere Apps auswirken, und halten Sie eine Absturzrate von etwa 1% ein. |
||
Android App Baseline (XR-spezifisch) |
Visuelle Elemente und Nutzerfreundlichkeit |
Basic XR |
Ihre App implementiert mindestens eine XR-spezifische Funktion oder einen XR-spezifischen Inhalt, um die Nutzerfreundlichkeit zu verbessern. Dazu können ein Orbiter, ein oder mehrere räumliche Panels, Umgebungen oder 3D-Objekte gehören. |
Räumliche Bereiche |
Wenn Sie mit Panels Multitasking betreiben (d. h. zwei oder mehr Aufgaben gleichzeitig erledigen), erstellen Sie separate räumliche Panels. Sie würden beispielsweise separate räumliche Panels für Chatfenster und Listen erstellen. |
||
Umgebungen |
Bei der Anzeige einer virtuellen Umgebung kann Helligkeit ablenkend und ermüdend sein. Ihre App bietet einen sicheren Tonbereich ohne Helligkeitsspitzen, die mit der Benutzeroberfläche in Konflikt stehen oder zu einer Ermüdung der Nutzer führen könnten. Die Benutzeroberfläche ist in alle Richtungen gut lesbar, insbesondere im mittleren horizontalen Bereich des Blickfelds des Nutzers. (Detaillierte Richtlinien werden in Zukunft verlinkt.) |
||
Übergang zwischen Home Space-Modus (HSM) und Full Space-Modus (FSM) |
Wenn Nutzer zum 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 Label und platzieren Sie die Schaltfläche an einem leicht zugänglichen Ort. |
||
Räumliche Bereiche |
Menüs, Assets und Steuerelemente in einem eigenen Bereich oder Orbiter platzieren. Diese Komponenten dürfen nicht im Hauptbearbeitungsbereich enthalten sein. |
||
Menü-/Listenscrollen |
In Ihrer App werden Scroll-Interaktionen (insbesondere in Karussells oder vertikalen Listen) mit Physik oder Schwung aktualisiert. Beim Scrollen wird beispielsweise Schwung genutzt, sodass sich Inhalte in Karussells und Listen nach einer Nutzerinteraktion noch kurz weiterbewegen, bevor sie allmählich zum Stillstand kommen. Sie bleiben also nicht genau dann stehen, wenn der Nutzer die Eingabe beendet. |
||
Video-/Media-Funktionen |
Visuelle Elemente und Nutzererfahrung |
Spatial Player (nur Android) |
Nutzer können sich Inhalte in Ihrer App im Vollbildmodus ansehen. Entfernen Sie die Wiedergabesteuerelemente aus einem Overlay über dem Inhalt und platzieren Sie sie stattdessen in einem separaten Bereich oder Orbiter. Legen Sie für Bereiche mit Videowiedergabe das Seitenverhältnis fest, um Letterboxing zu entfernen. |
Spatial Audio |
Unterstützen Sie Spatial Audio, einschließlich Panel-Locked Audio oder Surround-Sound. |
||
Gleichzeitige Videowiedergabe |
Wenn Ihre App mehrere gleichzeitige Videostreams unterstützt, muss die Benutzeroberfläche die folgenden Informationen deutlich anzeigen:
|
||
Umgebung |
Bei der Wiedergabe von Inhalten im Full Space können Nutzer in Ihrer App entweder den Passthrough-Modus dimmen oder virtuelle Umgebungen auswählen. |
OpenXR™ und das OpenXR-Logo sind Marken von The Khronos Group Inc. und sind in China, der Europäischen Union, Japan und dem Vereinigten Königreich als Marke eingetragen.