Definizioni dei livelli di compatibilità
Per verificare che la tua app offra un'esperienza utente ottimale su visori XR e occhiali XR con cavo, esamina i seguenti test e checklist di compatibilità.
Le checklist e i test definiscono un insieme completo di requisiti di qualità per la maggior parte dei tipi di app Android.
App mobile compatibile con Android XR
Un'app mobile compatibile con Android XR è 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 i flussi di attività critici, ma con un'esperienza utente meno ottimale rispetto a un' app differenziata per Android XR.
Questo tipo di app viene eseguito a schermo intero su un riquadro nell'ambiente dell'utente, ma il 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à compatibilità e pertanto non è letterboxed. L'app offre un'esperienza funzionale delle modalità di input principali fornite da Android XR (rilevamento oculare + gesto o mani con raycast) e il supporto di base per i dispositivi di input esterni, tra cui tastiera, mouse, trackpad e controller di gioco. Potrebbe essere in grado o meno di ridimensionarsi.
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 di funzionalità non supportati non è installabile tramite il Play Store.
App per schermi di grandi dimensioni compatibile con Android XR
Un'app per schermi di grandi dimensioni compatibile con Android XR è un'app per schermi di grandi dimensioni di livello 1 o di livello 2 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), oltre a un supporto avanzato per i dispositivi di input esterni e il multitasking. Le app per schermi di grandi dimensioni compatibili con Android XR vengono attivate automaticamente e sono disponibili sul Play Store.
Un'app per schermi di grandi dimensioni compatibile con Android XR viene eseguita a schermo intero su un riquadro spaziale nell'ambiente dell'utente a 1024 dp × 720 dp. Gli utenti potranno interagire con l'app in modo naturale utilizzando gli occhi e le mani, ma per il resto sarà molto simile all'app per schermi di grandi dimensioni.
App differenziata per Android XR
Un'app differenziata per Android XR ha 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 (ad es. riquadri spaziali) e contenuti XR (ad es. video 3D) alle tue applicazioni sviluppando con l'SDK di Android Jetpack XR, Unity o OpenXR.
Puoi utilizzare l'SDK di Jetpack XR per fornire funzionalità specifiche di XR, tra cui riquadri spaziali, ambienti, modelli 3D, audio spaziale, video / foto 3D / spaziali, ancore e altre UI spaziali come gli orbiter.
Per essere considerata un'app differenziata per Android XR, un'app deve implementare almeno una funzionalità specifica di XR o un contenuto specifico di XR. Per alcuni casi d'uso, potrebbero esistere ulteriori requisiti di funzionalità e contenuti. Consulta i dettagli di seguito.
Tutte le app create con Unity o OpenXR sono considerate differenziate. Le app create con Unity o OpenXR devono soddisfare le metriche di qualità e i requisiti minimi per essere considerate app differenziate per Android XR. Ad esempio, un'app con frame rate basso, arresti anomali o altre esperienze utente negative non sarebbe idonea.
Checklist di compatibilità con Android XR
Queste checklist di compatibilità definiscono i criteri per aiutarti a valutare il livello di supporto fornito dalla tua app per XR. I livelli di supporto includono:
App mobile compatibile con Android XR
La tua app deve soddisfare i requisiti di qualità di base 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 cromatico).
App per schermi di grandi dimensioni compatibile con Android XR
Qualsiasi app per schermi di grandi dimensioni di livello 1 o 2 è considerata un'app per schermi di grandi dimensioni compatibile con Android XR. Le norme sulla qualità delle app per schermi di grandi dimensioni offrono un approccio strutturato per garantire un'esperienza ottimale su Android XR, ma non sono richiesti aspetti relativi allo stato del dispositivo , come la rotazione o la piegatura/apertura.
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 applicazione. Le app Android devono inoltre essere conformi alle linee guida per Android per schermi di grandi dimensioni e dispositivi mobili. Consulta i requisiti appropriati per la tua applicazione (alcuni di questi potrebbero diventare anche potenziali aggiornamenti delle norme).
Tipo di app / caso d'uso |
Categoria |
Area |
Consulenza |
|---|---|---|---|
Requisito di base generale (Android e OpenXR) |
Privacy e sicurezza |
Accesso all'account (UX per la prima volta) |
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. In questo modo, si genera fiducia confermando l'account attivo. Inoltre, incorpora un menu o una pagina delle impostazioni facilmente accessibili che consentano agli utenti di visualizzare e gestire le informazioni del proprio account in qualsiasi momento. |
Sicurezza e comfort |
Effetto visivo stroboscopico |
Per garantire la sicurezza e il benessere di tutti gli utenti, è fondamentale ridurre al minimo il rischio di effetti stroboscopici all'interno dell'applicazione. Evita di incorporare intenzionalmente elementi di design che potrebbero indurre effetti stroboscopici. 1. Se l'effetto stroboscopico è assolutamente necessario, assicurati che la frequenza di lampeggiamento sia molto bassa (inferiore a 3 lampeggi al secondo) e che l'area di lampeggiamento sia piccola e discreta. 2. Valuta la possibilità di disattivarlo tramite le impostazioni o le preferenze. 3. Visualizza un messaggio di avviso chiaro prima che si verifichi un effetto stroboscopico. |
|
Evitare la cinetosi |
Segui queste linee guida per evitare di causare la cinetosi negli utenti:
|
||
Input |
Dimensioni dei target di interazione |
I target interattivi hanno una dimensione minima e una dimensione consigliata in base alla distanza di interazione prevista:
Quando utilizzi l'SDK di 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à tecniche 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 gestuale per le primitive di input. La tua app è riproducibile o utilizzabile senza la necessità di controller, ma può essere aumentata con l'uso di questi ultimi, se lo scegli. |
|
Boundary (in precedenza Guardian) |
Se la tua app prevede che gli utenti si spostino dal punto di partenza (all'avvio dell'app) nel loro spazio fisico, richiede il passthrough o dichiara Se la tua app utilizza |
||
Prestazioni |
Rendering |
La tua app esegue il rendering di ogni frame tra <11,1 ms (90 Hz) e < 13,8 ms (72 Hz). |
|
Risoluzione |
La tua app ha una risoluzione di almeno 1856 x 2160 per occhio. |
||
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 in generale ti consigliamo di ridurre al minimo il tempo tra l'avvio e la prima interazione. Di seguito sono riportate le durate target:
Per maggiori dettagli, vedi Tempi di avvio dell'app. |
||
ANR |
La tua app non si arresta in modo anomalo né blocca il thread dell'interfaccia utente causando errori ANR ("Android non risponde"). La tua app ha meno di 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 il deployment, presta attenzione alla pagina Android vitals nella console Google Play. |
||
Percentuale di arresti anomali |
Non consumare risorse di sistema eccessive che influiscono sul resto del sistema e su altre app, mantenendo una percentuale di arresti anomali di circa l'1% crash rate. |
||
Baseline dell'app Android (differenziata per XR) |
Aspetto visivo ed esperienza utente |
XR di base |
La tua app implementa almeno una funzionalità specifica di XR o un contenuto specifico di XR per migliorare l'esperienza utente. Può includere un orbiter, uno o più riquadri spaziali, ambienti o oggetti 3D. |
Riquadri spaziali |
Quando esegui il multitasking (ovvero completi due o più attività contemporaneamente) con i riquadri, crea riquadri spaziali separati. Ad esempio, creeresti riquadri spaziali separati per le finestre di chat e gli elenchi. |
||
Ambienti |
Quando viene mostrato un ambiente virtuale, la luminosità può essere fonte di distrazione e affaticamento. La tua app presenta una gamma tonale sicura senza picchi di luminosità che entrano in conflitto con l'UI o potrebbero causare affaticamento dell'utente. L'UI è leggibile in tutte le direzioni, soprattutto nella banda orizzontale centrale dello sguardo dell'utente. (Le linee guida dettagliate verranno collegate in futuro) |
||
Transizione tra lo spazio Home (HSM) e lo spazio intero (FSM) |
Quando indirizza gli utenti allo spazio intero, la tua app ha un punto di accesso che consente agli utenti di passare rapidamente dallo spazio Home allo spazio intero. Utilizza un'icona o un'etichetta e posiziona il pulsante in una posizione di facile accesso. |
||
Riquadri spaziali |
Inserisci menu, asset e controlli in un riquadro o orbiter dedicato. Non includere questi componenti nel riquadro di modifica principale. |
||
Scorrimento di menu / elenchi |
La tua app aggiorna le interazioni di scorrimento (soprattutto tramite caroselli o elenchi verticali) in modo che abbiano fisica o inerzia. Ad esempio, lo scorrimento incorpora l'inerzia, facendo sì che i contenuti di caroselli ed 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 / multimediali |
Aspetto visivo ed esperienza utente |
Player spaziale (solo Android) |
La tua app consente agli utenti di guardare i contenuti nello spazio intero. Rimuovi i controlli di riproduzione da una sovrapposizione sopra i contenuti e inseriscili in un riquadro o orbiter dedicato. Per i riquadri con riproduzione video, imposta le proporzioni per rimuovere il letterboxing. |
Audio spaziale |
Valuta la possibilità di supportare l'audio spaziale, incluso l'audio bloccato nel riquadro o l'audio surround. |
||
Visualizzazione simultanea di video |
Se la tua app supporta più stream video simultanei, l'interfaccia utente rende chiare le seguenti informazioni:
|
||
Ambiente |
Quando riproduce i contenuti nello spazio intero, la tua app consente agli utenti di attenuare il passthrough o di selezionare ambienti virtuali. |
OpenXR™ e il logo OpenXR sono marchi di proprietà di The Khronos Group Inc. e sono registrati come marchi in Cina, Unione Europea, Giappone e Regno Unito.