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:
|
||
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:
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 ( Se la tua app è incentrata principalmente su un mondo virtuale ( Se la tua app utilizza 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 |
||
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:
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 |
|
||
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:
|
||
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.