Android XR: norme e linee guida sulla qualità delle app per esperienze immersive

Dispositivi XR applicabili
Queste indicazioni ti aiutano a creare esperienze per questi tipi di dispositivi XR.
Visori XR
Occhiali XR con cavo

Le norme sulla qualità delle app per esperienze immersive estendono gli standard di base per dispositivi mobili relativi alla qualità principale delle app.

Queste norme sulla qualità delle app e le relative norme si concentrano sulle interazioni e sulle funzionalità spaziali uniche della piattaforma Android XR su visori XR e occhiali XR con cavo, come descritto nelle definizioni dei livelli di compatibilità, negli elenchi di controllo e nelle norme relative alle app Android XR. Esamina queste sezioni per verificare che la tua app offra un'esperienza utente ottimale su visori XR e occhiali XR con cavo.

Esperienze immersive: definizioni dei livelli di compatibilità

Consulta le seguenti definizioni dei livelli di compatibilità per comprendere il livello di supporto fornito dalla tua app per le esperienze immersive su visori XR e occhiali XR con cavo.

App mobile compatibile con Android XR

Un'app mobile compatibile con Android XR rappresenta un'app mobile esistente che non è stata modificata per adattarsi a uno schermo di grandi dimensioni o a qualsiasi altro fattore di forma. Questo tipo di app è automaticamente compatibile con Android XR, a condizione che non richieda funzionalità non supportate, come la telefonia. Gli utenti possono completare flussi di attività critici, ma con un'esperienza utente meno ottimale rispetto a un'app Android XR differenziata.

Questo tipo di app viene eseguito a schermo intero su un pannello nell'ambiente dell'utente, ma il suo layout potrebbe non essere ideale per dimensioni maggiori. Le app che specificano dimensioni compatte nel manifest vengono visualizzate di conseguenza. L'app non viene eseguita in modalità di compatibilità e pertanto non è in formato letterbox. L'app offre un'esperienza funzionale delle modalità di input principali fornite da Android XR (tracciamento oculare + gesto o raycast delle mani) e un supporto di base per i dispositivi di input esterni, tra cui tastiera, mouse, trackpad e controller di gioco. Potrebbe essere ridimensionabile o meno.

Le app mobile compatibili con Android XR vengono attivate automaticamente e sono disponibili sul Google Play Store. Un'app non compatibile a causa di requisiti delle funzionalità non supportati non è installabile tramite il Play Store.

App adattiva compatibile con Android XR

Un'app adattiva compatibile con Android XR è un'app che ha implementato ottimizzazioni del layout per tutte le dimensioni dello schermo e le configurazioni dei dispositivi (ad esempio, schermi di grandi dimensioni oltre ai dispositivi mobili), insieme a un supporto migliorato per dispositivi di input esterni e multitasking. Un'app soddisfa questi requisiti se è ottimizzata per l'adattabilità di livello 2 o differenziata per l'adattabilità di livello 1 per computer, tablet o pieghevoli.

Le app adattive compatibili con Android XR vengono attivate automaticamente e sono disponibili sul Play Store.

App Android XR differenziata

Un'app Android XR differenziata offre un'esperienza utente progettata esplicitamente per XR e implementa funzionalità offerte solo su XR. Puoi sfruttare appieno le funzionalità di Android XR e differenziare le esperienze della tua app aggiungendo funzionalità XR (come i pannelli spaziali) e contenuti XR (come i video 3D) alle tue app sviluppando con l'SDK Android Jetpack XR, Unity, Godot, Unreal Engine o OpenXR.

Puoi utilizzare l'SDK Jetpack XR per fornire funzionalità specifiche per XR, ad esempio:

  • Pannelli spaziali
  • Ambienti
  • Modelli 3D
  • Audio spaziale
  • Foto e video 3D o spaziali
  • Ancoraggi
  • Altra UI spaziale, come gli orbiter

Per essere considerata un'app Android XR differenziata, un'app deve implementare almeno una funzionalità o un contenuto specifico per XR. Per alcuni casi d'uso, potrebbero essere previsti requisiti aggiuntivi per le funzionalità e i contenuti. Per maggiori dettagli, consulta le sezioni successive.

Tutte le app create con Unity, Godot, Unreal Engine o OpenXR sono considerate differenziate, a condizione che soddisfino le metriche di qualità e i requisiti minimi per essere considerate app differenziate per Android XR. Ad esempio, un'app con frequenza fotogrammi bassa, arresti anomali o altre esperienze utente negative non è idonea.

Aiuta gli utenti a scoprire la tua app nel Play Store con un badge

Le app differenziate per Android XR ricevono automaticamente il badge "Made for XR" nel Play Store per aiutare gli utenti a scoprire esperienze XR di alta qualità.

Esperienze immersive: elenco di controllo della compatibilità

Per verificare che la tua app offra un'esperienza utente ottimale su visori XR e occhiali XR con cavo, consulta i seguenti test ed elenchi di controllo della compatibilità.

Questi elenchi di controllo e test definiscono un insieme completo di requisiti di qualità per la maggior parte dei tipi di app per Android.

App mobile compatibile con Android XR

La tua app deve soddisfare i requisiti di qualità principali delle app.

La tua app deve inoltre rispettare tutte le linee guida sull'accessibilità applicabili per altri fattori di forma, come smartphone e tablet (ad esempio, contrasto dei colori).

App adattiva compatibile con Android XR

Qualsiasi app che sia ottimizzata per l'adattabilità di livello 2 o differenziata per l'adattabilità di livello 1 per computer, tablet o pieghevoli è considerata anche un'app adattiva compatibile con Android XR. Le norme sulla qualità delle app adattive offrono un approccio strutturato per garantire un'esperienza ottimale su Android XR, ma non sono necessarie considerazioni sullo stato del dispositivo, come la rotazione o l'apertura/chiusura.

App differenziata per Android XR

Poiché le app differenziate per Android XR sono altamente differenziate, alcune delle funzionalità elencate sono applicabili solo a tipi specifici di app. Scegli le funzionalità appropriate per la tua app. Le app per Android devono inoltre rispettare le norme sulla qualità delle app adattive. Consulta i requisiti appropriati per la tua app.

Per un'esperienza utente ottimale, devi anche seguire le indicazioni sulla progettazione di app differenziate per XR.

Tipo di app e caso d'uso

Categoria

Ad area

Consulenza

Requisito di base generale (Android e OpenXR)

Privacy e sicurezza

Accesso all'account (UX per il primo utilizzo)

Se la tua app utilizza un sistema di accesso, presenta chiaramente le credenziali di accesso dell'utente (ad esempio le credenziali del nome utente) dopo l'autenticazione riuscita. In questo modo, si crea un rapporto di fiducia confermando l'account attivo. Inoltre, incorpora un menu o una pagina delle impostazioni facilmente accessibili che consentano agli utenti di visualizzare e gestire i dati del proprio account in qualsiasi momento.

Sicurezza e comfort

Strobing

Per garantire la sicurezza e il benessere di tutti gli utenti, è fondamentale ridurre al minimo il rischio di effetti stroboscopici all'interno della tua app.

Evita di incorporare intenzionalmente elementi di design che potrebbero indurre l'effetto stroboscopico.

1. Se un effetto stroboscopico è assolutamente necessario, assicurati che la frequenza di lampeggiamento sia molto bassa (meno di 3 lampeggiamenti al secondo) e che l'area di lampeggiamento sia piccola e discreta.

2. Valuta la possibilità di fornire un'opzione per disattivarlo tramite le impostazioni o le preferenze.

3. Mostra un messaggio di avviso chiaro prima che si verifichi un effetto stroboscopico.

Evitare la cinetosi

Segui queste linee guida per evitare di causare cinetosi negli utenti:

  • Dai la priorità al comfort visivo evitando movimenti bruschi della videocamera. Mantieni un sistema di riferimento coerente per evitare di disorientare l'utente.
  • Non ruotare la videocamera nel tempo. Se la direzione della fotocamera cambia, questa si aggancia al nuovo orientamento.

Meno luminosità

Rispetta le impostazioni del dimmer stabilite dall'utente per evitare rischi per la sicurezza. Puoi regolare l'attenuatore per un'esperienza ottimale per la tua app, ma gli utenti possono eseguire l'override manuale in qualsiasi momento.

Ingresso

Dimensioni dei target di interazione

I target interattivi hanno dimensioni minime e dimensioni consigliate in base alla distanza di interazione prevista:

  • Dimensioni minime: DistanceInM x 0,868 x 48 = M
  • Dimensioni consigliate: DistanceInM x 0,868 x 56 = M o superiore

Quando utilizzi l'SDK Jetpack XR, ti consigliamo una dimensione minima di 48 x 48 dp, con una dimensione del target di tocco consigliata di 56 x 56 dp o superiore.

Funzionalità tecnica XR

Input manuale

La tua app supporta l'input manuale naturale come metodo di interazione di base per Android XR, inclusi i requisiti di raycast manuale e il supporto dei gesti per le primitive di input.

La tua app è giocabile o comunque utilizzabile senza bisogno di controller, ma può essere migliorata con il loro utilizzo, se lo desideri.

Confine

Se la tua app si concentra principalmente sul mondo reale (currentPassthroughOpacity è impostato su un valore superiore a 0,5), gli utenti potrebbero camminare attivamente nel loro ambiente reale. Mantieni il campo visivo centrale libero da elementi densi e opachi per evitare il rischio di inciampare o di non essere consapevole della situazione.

Se la tua app è incentrata principalmente su un mondo virtuale (currentPassthroughOpacity è impostato su un valore inferiore a 0,5) e non è un'esperienza fissa, ti consigliamo di dichiarare un confine ampio nel manifest utilizzando PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE.

Se la tua app utilizza XR_BOUNDARY_TYPE_LARGE, è completamente giocabile senza che venga mostrato il confine (entro un raggio di 2,0 m; tieni presente che il passthrough del confine inizia a dissolversi in un raggio di 1,5 m).

Occhiali XR: non esiste un confine sui dispositivi con occhiali XR.

Prestazioni

Rendering

La tua app esegue il rendering di ogni frame tra <11,1 ms (90 Hz) e <13,8 ms (72 Hz).

Risoluzione

OpenXR e motori: esegui una query su XR_ANDROID_recommended_resolution per ottenere il target di rendering ideale, proprio come fanno i motori grafici standard.

Tempi di avvio dell'app

Gli utenti vogliono poter interagire con la tua app o il tuo gioco il più rapidamente possibile. La definizione di un buon tempo di avvio o di caricamento varia in base alla categoria, ma come principio generale consigliamo di ridurre al minimo il tempo tra il lancio e la prima interazione.

Di seguito sono riportate le durate target:

  • Avvio a freddo medio: meno di 2 secondi
  • Avvio tiepido medio: meno di 1 secondo

Per maggiori dettagli, consulta Tempo di avvio dell'app.

ANR

La tua app non si arresta in modo anomalo o non blocca il thread dell'interfaccia utente causando errori ANR ("Android Not Responding").

La tua app ha <1 ANR nel 99,5% delle sessioni giornaliere.

La tua app utilizza il report pre-lancio di Google Play per identificare potenziali problemi di stabilità. Dopo l'implementazione, presta attenzione alla pagina Android vitals in Google Play Console.

Percentuale di arresti anomali

Non consumare risorse di sistema eccessive che influiscono sul resto del sistema e su altre app, mantenendo un tasso di arresti anomali di circa l'1%.

Baseline delle app per Android (differenziata per XR)

Esperienza visiva e utente

XR di base

La tua app implementa almeno una funzionalità o un contenuto specifico per la realtà estesa per migliorare l'esperienza utente. Può includere un orbiter, uno o più pannelli spaziali, ambienti o oggetti 3D.

Pannelli spaziali

  • Posiziona menu, asset e controlli in un pannello o un orbiter dedicato. Non includere questi componenti nel riquadro di modifica principale.
  • Quando esegui il multitasking (ovvero completi due o più attività contemporaneamente) con i pannelli, crea pannelli spaziali separati. Ad esempio, creeresti pannelli spaziali separati per le finestre di chat e gli elenchi.

Ambienti

Quando viene mostrato un ambiente virtuale, la luminosità può distrarre e affaticare. La tua app presenta una gamma tonale sicura senza picchi di luminosità che entrano in conflitto con l'interfaccia utente o che potrebbero causare affaticamento dell'utente. La UI è leggibile in tutte le direzioni, in particolare all'interno della fascia orizzontale centrale dello sguardo dell'utente. (Le linee guida dettagliate verranno collegate in futuro)

Tema UI

Utilizza per impostazione predefinita o incoraggia vivamente l'uso di un tema scuro; le app con tema chiaro appariranno molto luminose, non si integreranno nell'ambiente dell'utente e scaricheranno la batteria più velocemente. Per gli occhiali XR, implementa sempre un tema scuro, poiché il sistema utilizza un tema scuro per impostazione predefinita.

Transizione tra lo spazio Home (HSM) e lo spazio intero (FSM)

Quando gli utenti vengono indirizzati allo spazio intero, l'app ha un punto di accesso che consente loro di passare rapidamente dallo spazio della home allo spazio intero. Utilizza un'icona o un'etichetta e posiziona il pulsante in un punto facilmente accessibile.

Scorrimento di menu ed elenchi

La tua app aggiorna le interazioni di scorrimento (soprattutto tramite caroselli o elenchi verticali) per avere fisica o slancio. Ad esempio, lo scorrimento incorpora l'inerzia, facendo sì che i contenuti nei caroselli e negli elenchi continuino a muoversi brevemente dopo un'interazione dell'utente prima di fermarsi gradualmente (anziché fermarsi esattamente quando l'utente interrompe l'input).

Funzionalità video e multimediali

Esperienza visiva e utente

Player spaziale (solo Android)

La tua app consente agli utenti di guardare contenuti in Spazio intero.

Rimuovi i controlli di riproduzione da un overlay sopra i contenuti e posizionali in un pannello o un orbiter dedicato.

Per i pannelli con riproduzione video, imposta le proporzioni per rimuovere il letterbox.

Audio spaziale

Valuta la possibilità di supportare l'audio spaziale, incluso l'audio bloccato sul pannello o l'audio surround.

Visualizzazione simultanea di video

Se la tua app supporta più stream video simultanei, l'interfaccia utente deve indicare chiaramente le seguenti informazioni:

  • Quali stream video forniscono l'output audio
  • Quali controlli di riproduzione influiscono su quali stream video

Ambiente

Durante la riproduzione di contenuti video in Spazio intero, l'app consente agli utenti di attenuare il passthrough (o di selezionare ambienti virtuali sui dispositivi supportati).

Norme relative alle app per Android XR

Tutte le app devono rispettare i requisiti delle seguenti norme per promuovere esperienze utente sicure e rispettose su dispositivi immersivi come visori XR e occhiali XR con cavo.

Sicurezza delle app

Ti ricordiamo che tutte le app distribuite tramite Google Play devono rispettare tutte le norme per gli sviluppatori di Google Play.

Le seguenti attività sono severamente vietate e le app non devono agevolarle o promuoverle:

  • Doxxing
  • Riconoscimento facciale o identificazione biometrica
  • Sorveglianza
  • Creazione o diffusione di immagini intime non consensuali (NCII)

Le seguenti protezioni per gli astanti sono obbligatorie per tutte le app:

Sicurezza della videocamera

Le app che accedono alla fotocamera devono rispettare la privacy degli astanti e devono essere conformi a quanto segue:

Interazioni vietate

Descrizione

Identificazione facciale in tempo reale e doxxing

Le app non devono utilizzare i sensori della fotocamera per eseguire l'identificazione facciale al fine di mostrare informazioni che consentono l'identificazione personale (PII) di astanti. Ad esempio: nomi, indirizzi di casa, numeri di telefono o il datore di lavoro.

Generazione di immagini intime non consensuali (NCII) o contenuti illegali

Le app non devono utilizzare i sensori della fotocamera per facilitare la creazione di immagini intime non consensuali (NCII) o la generazione di contenuti illegali (ad esempio, CSAM).

Sicurezza audio

Le app che utilizzano l'array di microfoni devono rispettare la privacy degli astanti e devono soddisfare i seguenti requisiti:

Interazioni vietate

Descrizione

Intercettazione persistente

Le app non devono mantenere la registrazione o la trascrizione audio persistente in background quando l'utente non interagisce attivamente con l'app per un'attività avviata dall'utente.

Identificazione vocale

Le app non devono utilizzare l'array di microfoni per identificare le voci di persone diverse da chi indossa il dispositivo o di astanti.

Comportamenti dei LED

Le app non devono eseguire le seguenti operazioni in relazione ai LED del dispositivo rivolti verso l'utente e verso l'esterno:

Interazioni vietate

Descrizione

Eliminazione o modifica programmatica

Le app non devono modificare, oscurare o disattivare il comportamento dei LED rivolti verso l'esterno e rivolti agli utenti imposto dal sistema in base all'accesso al microfono e alla fotocamera. Inoltre, le app non devono incoraggiare o indirizzare gli utenti a modificare, attenuare o disattivare il comportamento dei LED.

Bypassing thwart and tamper detection

Le app non devono bypassare o interferire con gli algoritmi di rilevamento di ostacoli del dispositivo, progettati per interrompere in modo programmatico la registrazione se il LED rivolto verso l'esterno è fisicamente coperto o danneggiato, né incoraggiare o indirizzare gli utenti a farlo.


OpenXR™ e il logo OpenXR sono marchi di proprietà di The Khronos Group Inc. e sono registrati come marchi in Cina, nell'Unione Europea, in Giappone e nel Regno Unito.