Qualitätsrichtlinien für Android XR-Apps

Definitionen der Kompatibilitätsstufen

Prüfen Sie die folgenden Kompatibilitätschecklisten und ‑tests, um sicherzustellen, dass Ihre App auf Android XR-Geräten eine hervorragende Nutzererfahrung bietet.

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

Eine mit Android XR kompatible App

Eine mit Android XR kompatible 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 wichtige Aufrufabfolgen abschließen, die Nutzererfahrung ist jedoch weniger optimal als bei einer differenzierten Android XR-App.

Diese Art von App wird in der Umgebung des Nutzers im Vollbildmodus in einem Steuerfeld ausgeführt. Bei größeren Bildschirmen ist das Layout jedoch möglicherweise nicht ideal. Apps, für die im 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 (Augen-Tracking + Gesten oder Raycast-Hände) und grundlegende Unterstützung für externe Eingabegeräte wie Tastatur, Maus, Touchpad und Gamecontroller. Die Größe kann möglicherweise nicht geändert werden.

Mit Android XR kompatible mobile Apps sind automatisch aktiviert und 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 Bildschirme

Eine mit Android XR kompatible App für große Bildschirme ist eine Tier 1- oder Tier 2-App für große Bildschirme, die Layoutoptimierungen für alle Bildschirmgrößen und Gerätekonfigurationen (z. B. große Bildschirme zusätzlich zu Mobilgeräten) sowie eine erweiterte Unterstützung für externe Eingabegeräte und Multitasking implementiert hat. Android XR-kompatible Apps für große Bildschirme sind automatisch aktiviert und im Play Store verfügbar.

Eine mit Android XR kompatible App für große Bildschirme wird im Vollbildmodus auf einem räumlichen Steuerfeld in der Umgebung des Nutzers mit 1.024 × 720 Pixeln ausgeführt. Nutzer können mit ihren Augen und Händen ganz natürlich mit der App interagieren. Ansonsten ähnelt sie der App für große Bildschirme.

Differenzierte App für Android XR

Eine für Android XR optimierte App bietet eine speziell für XR entwickelte Nutzererfahrung und implementiert Funktionen, die nur auf XR-Geräten verfügbar sind. Sie können die Funktionen von Android XR voll ausschöpfen und Ihre App abheben, indem Sie XR-Funktionen (z. B. räumliche Ansichten) 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 bereitstellen, darunter räumliche Bereiche, Umgebungen, 3D-Modelle, räumlichen Audio, 3D-/räumliche Videos / Fotos, Anker und andere räumliche UI-Elemente wie Orbiter.

Damit eine App als Android XR-differenzierte App eingestuft werden kann, muss sie mindestens eine XR-spezifische Funktion oder XR-spezifische Inhalte implementieren. Für bestimmte Anwendungsfälle können weitere Funktionen und Inhaltsanforderungen gelten. Einzelheiten dazu findest du weiter unten.

Alle mit Unity oder OpenXR erstellten Apps gelten als unterschiedlich. Apps, die mit Unity oder OpenXR erstellt wurden, müssen Qualitätsmesswerte und Mindestanforderungen erfüllen, um als Android XR-differenzierte App eingestuft zu werden. Eine App mit niedriger Framerate, Abstürzen oder anderen negativen Nutzererfahrungen kommt beispielsweise nicht infrage.

Checkliste für die Kompatibilität mit Android XR

In diesen Kompatibilitätschecklisten sind Kriterien definiert, anhand derer Sie die Unterstützung Ihrer App für XR beurteilen können. Zu den Supportebenen gehören:

Eine mit Android XR kompatible App

Ihre App muss die grundlegenden Qualitätsanforderungen für Apps erfüllen.

Ihre App muss außerdem alle anwendbaren Richtlinien für Barrierefreiheit für andere Formfaktoren wie Smartphones und Tablets einhalten (z. B. Farbkontrast).

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

Alle Apps für große Bildschirme der Stufe 1 oder Stufe 2 gelten als mit Android XR kompatible Apps für große Bildschirme. Die Qualitätsrichtlinien für Apps für große Bildschirme bieten einen strukturierten Ansatz, um eine hervorragende Nutzererfahrung auf Android XR zu ermöglichen. Gerätestatus-Überlegungen wie Drehung oder Zusammen-/Aufklappen sind jedoch nicht erforderlich. Ebenso wird Android XR nicht von Eingabestiften unterstützt.

Für Android XR optimierte App

Da Android XR-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 außerdem den Richtlinien für große Bildschirme und Mobilgeräte entsprechen. Sehen Sie sich die Anforderungen an, die für Ihre Anwendung gelten. Einige davon können auch zu potenziellen Richtlinienaktualisierungen führen.

App-Typ / Anwendungsfall

Category

Fläche

Anleitung

Allgemeine Grundvoraussetzung (Android und OpenXR)

Datenschutz & Sicherheit

Kontoanmeldung (erste Nutzung)

Wenn Ihre App ein Anmeldesystem verwendet, müssen die Anmeldedaten des Nutzers (z. B. der Nutzername) nach erfolgreicher Authentifizierung deutlich angezeigt werden. Das stärkt das Vertrauen, da das aktive Konto bestätigt wird. Außerdem sollte ein leicht zugängliches Menü oder eine leicht zugängliche Seite mit Einstellungen vorhanden sein, über die Nutzer ihre Kontoinformationen jederzeit einsehen und verwalten können.

Sicherheit und Komfort

Stroboskopeffekt

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

Vermeiden Sie es, absichtlich Designelemente einzubinden, die Stroboskopeffekte verursachen können.

1. Wenn ein Stroboskopeffekt unbedingt erforderlich ist, achten Sie darauf, dass die Blinkrate sehr niedrig ist (unter 3 Blinkungen pro Sekunde) und der blinkende Bereich klein und unauffällig ist.

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

3. Eine deutliche Warnung wird angezeigt, bevor das Stroboskoplicht eingeschaltet wird.

Reisekrankheit vermeiden

Beachten Sie die folgenden Richtlinien, um bei Nutzern keine Reiseübelkeit zu verursachen:

  • Vermeide abrupte Kamerabewegungen, um die Zuschauer nicht zu irritieren. Behalten Sie einen einheitlichen Referenzrahmen bei, um die Nutzer nicht zu verwirren.
  • Drehen Sie die Kamera nicht im Laufe der Zeit. Wenn sich die Kamerarichtung ändert, wird die Kamera automatisch auf die neue Ausrichtung ausgerichtet.

Eingang

Größe von Interaktionszielen

Interaktive Ziele haben eine Mindest- und eine empfohlene Größe, die von der gewünschten Interaktionsdistanz abhängt:

  • Mindestgröße: EntfernungInMetern × 0,868 × 48 = M
  • Empfohlene Größe: „DistanceInM“ × 0,868 × 56 = M oder größer

Bei Verwendung des Jetpack XR SDK empfehlen wir eine Mindestgröße von 48 × 48 dp. Die Größe des Tippziels sollte mindestens 56 × 56 dp betragen.

Technische Funktionen von XR

Handschriftliche Eingabe

Ihre App unterstützt die natürliche Eingabe per Hand als Standardinteraktionsmethode für Android XR, einschließlich Anforderungen an den Raycast für die Hand und Gestenunterstützung für Eingabeprimitive.

Ihre App kann ohne Controller gespielt oder anderweitig verwendet werden, kann aber auch mit Controllern ergänzt werden.

Boundary (früher Guardian)

Wenn Nutzer in Ihrer App von ihrem Ausgangspunkt (beim Start der App) durch ihren physischen Raum gehen sollen, wird entweder der Durchlauf angefordert oder PROPERTY_ACTIVITY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE im Manifest deklariert.

Wenn Ihre App XR_BOUNDARY_TYPE_LARGE verwendet, kann sie vollständig ohne Anzeige der Begrenzung gespielt werden (in einem Umkreis von 2,0 m; Hinweis: Die Begrenzung wird ab einem Umkreis von 1,5 m eingeblendet).

Leistung

Rendering

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

Lösung

Ihre App hat eine Auflösung von mindestens 2.364 × 2.880 Pixel pro Auge.

App-Startzeit

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

Hier findest du die Zieldauern:

  • Durchschnittliche Kaltstartzeit: unter 2 Sekunden
  • Durchschnittliche Warmstartzeit: unter 1 Sekunde

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 antwortet nicht“) führt.

In 99,5% der täglichen Sitzungen tritt in Ihrer App weniger als ein ANR-Fehler auf.

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

Absturzrate

Die App darf nicht zu viele Systemressourcen verbrauchen, die sich auf das restliche System und andere Apps auswirken. Die Abstürzrate sollte bei etwa 1% liegen.

Android-App-Baseline (XR-differenziert)

Visuelle Darstellung und Nutzerfreundlichkeit

Basic XR

Ihre App enthält mindestens eine XR-spezifische Funktion oder einen XR-spezifischen Inhalt, um die Nutzerfreundlichkeit zu verbessern. Dazu gehören ein Orbiter, ein oder mehrere räumliche Ansichten, Umgebungen oder 3D-Objekte.

Spatial Panels

Wenn Sie mit Steuerfeldbereichen Multitasking betreiben (d. h. zwei oder mehr Aufgaben gleichzeitig erledigen), erstellen Sie separate räumliche Steuerfeldbereiche. So könnten Sie beispielsweise separate Bereiche für Chatfenster und Listen erstellen.

Umgebungen

Bei der Darstellung einer virtuellen Umgebung kann die Helligkeit ablenken und ermüden. Ihre App verwendet einen sicheren Tonbereich ohne Helligkeitsspitzen, die mit der Benutzeroberfläche in Konflikt stehen oder die Augen der Nutzer beeinträchtigen könnten. Die Benutzeroberfläche ist in alle Richtungen lesbar, insbesondere im mittleren horizontalen Bereich des Blickfelds des Nutzers. (Detaillierte Richtlinien werden demnächst verlinkt)

Zwischen Home Space (HSM) und Full Space (FSM) wechseln

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

Spatial Panels

Menüs, Assets und Steuerelemente in einem eigenen Steuerfeld oder Orbiter platzieren Fügen Sie diese Komponenten nicht in den Hauptbearbeitungsbereich ein.

Scrollen in Menüs und Listen

In Ihrer App werden Scroll-Interaktionen (insbesondere in Karussells oder vertikalen Listen) aktualisiert, um eine realistische Physik oder einen realistischen Impuls zu haben. Beim Scrollen wird beispielsweise ein gewisser Schwung erzeugt, wodurch sich Inhalte in Karussells und Listen nach einer Nutzerinteraktion noch kurz bewegen, bevor sie allmählich zum Stillstand kommen, anstatt genau dann anzuhalten, wenn der Nutzer die Eingabe beendet.

Video-/Medienfunktionen

Visuelle Darstellung und Nutzerfreundlichkeit

Spatial Player (nur Android)

In Ihrer App können sich Nutzer Inhalte im Vollbildmodus ansehen.

Entferne die Wiedergabesteuerung aus einem Overlay über den Inhalten und platziere sie stattdessen in einem speziellen Bereich oder Orbiter.

Legen Sie für Bereiche mit Videowiedergabe das Seitenverhältnis fest, um Letterbox-Effekte zu entfernen.

Spatial Audio

Sie sollten Spatial Audio unterstützen, einschließlich Audio, das an das Display gebunden ist, oder Surround-Sound.

Gleichzeitige Videowiedergabe

Wenn Ihre App mehrere gleichzeitige Videostreams unterstützt, müssen in der Benutzeroberfläche die folgenden Informationen klar ersichtlich sein:

  • Welche Videostreams eine Audioausgabe liefern
  • Welche Wiedergabesteuerungen sich auf welche Videostreams auswirken

Umgebung

Wenn Inhalte im Vollbildmodus wiedergegeben werden, können Nutzer in Ihrer App die Durchlässigkeit entweder dimmen oder virtuelle Umgebungen auswählen.