Définitions des niveaux de compatibilité
Pour que votre application offre une expérience utilisateur optimale sur les appareils Android XR, veuillez consulter les tests et vérifications de compatibilité suivants.
Ces checklists et ces tests définissent un ensemble complet de critères de qualité applicables à la plupart des types d'applis Android.
Application mobile compatible avec Android XR
Une application mobile compatible avec Android XR est une application mobile existante qui n'a pas été modifiée pour s'adapter à un grand écran ou à un autre facteur de forme. Ce type d'application est automatiquement compatible avec Android XR, à condition qu'il ne nécessite aucune fonctionnalité non prise en charge, comme la téléphonie. Les utilisateurs peuvent accomplir les procédures essentielles, mais l'expérience utilisateur est moins optimale que celle d'une application Android XR différenciée.
Ce type d'application s'exécute en plein écran sur un panneau dans l'environnement de l'utilisateur, mais sa mise en page n'est pas forcément idéale pour les grandes tailles. Les applications qui spécifient des tailles compactes dans le fichier manifeste s'affichent en conséquence. L'application ne s'exécute pas en mode de compatibilité et n'est donc pas au format letterbox. L'application offre une expérience fonctionnelle des principales modalités d'entrée fournies par Android XR (suivi du regard + gestes ou mains raycast) et une compatibilité de base avec les périphériques d'entrée externes, y compris les claviers, les souris, les pavés tactiles et les manettes de jeu. Il peut ou non être capable de redimensionner.
Les applications mobiles compatibles Android XR sont automatiquement activées et disponibles sur le Google Play Store. Une application qui n'est pas compatible en raison d'exigences concernant des fonctionnalités non prises en charge ne peut pas être installée via le Play Store.
Application pour grand écran compatible avec Android XR
Une application Android XR compatible avec les grands écrans est une application Niveau 1 ou Niveau 2 pour grand écran qui a implémenté des optimisations de mise en page pour toutes les tailles d'écran et configurations d'appareil (par exemple, les grands écrans en plus des mobiles), et qui offre une compatibilité améliorée avec les périphériques d'entrée externes et le multitâche. Les applications pour grand écran compatibles avec Android XR sont automatiquement activées et disponibles sur le Play Store.
Une application Android XR compatible avec les grands écrans s'exécute en plein écran sur un panneau spatial dans l'environnement de l'utilisateur, à 1 024 dp × 720 dp. Les utilisateurs pourront interagir avec l'application de manière naturelle à l'aide de leurs yeux et de leurs mains, mais elle sera par ailleurs très semblable à l'application pour grand écran.
Application Android XR différenciée
Une application Android XR différenciée offre une expérience utilisateur explicitement conçue pour la XR et implémente des fonctionnalités qui ne sont proposées que sur la XR. Vous pouvez profiter pleinement des fonctionnalités d'Android XR et différencier les expériences de votre application en ajoutant des fonctionnalités XR (par exemple, des panneaux spatiaux) et du contenu XR (par exemple, des vidéos 3D) à vos applications en développant avec le SDK Android Jetpack XR, Unity ou OpenXR.
Vous pouvez utiliser le SDK Jetpack XR pour fournir des fonctionnalités spécifiques à la XR, y compris des panneaux spatiaux, des environnements, des modèles 3D, de l'audio spatial, des vidéos / photos 3D / spatiales, des ancres et d'autres UI spatiales telles que des orbiteurs.
Pour être considérée comme une application Android XR différenciée, une application doit implémenter au moins une fonctionnalité ou un contenu spécifique à la XR. Des exigences supplémentaires concernant les fonctionnalités et les contenus peuvent s'appliquer à certains cas d'utilisation. Consultez les détails ci-dessous.
Toutes les applications créées avec Unity ou OpenXR sont considérées comme différenciées. Les applications créées avec Unity ou OpenXR doivent répondre à des métriques de qualité et à des exigences minimales pour être considérées comme des applications Android XR différenciées. Par exemple, une application avec une faible fréquence d'images, des plantages ou d'autres expériences utilisateur négatives ne serait pas éligible.
Check-list de compatibilité Android XR
Ces checklists de compatibilité définissent des critères pour vous aider à évaluer le niveau de compatibilité de votre appli avec la XR. Voici les différents niveaux de compatibilité :
Application mobile compatible avec Android XR
Votre application doit respecter les critères de qualité essentiels des applications.
Votre application doit également respecter toutes les consignes d'accessibilité applicables aux autres facteurs de forme tels que les téléphones et les tablettes (par exemple, le contraste des couleurs).
Application pour grand écran compatible avec Android XR
Toute application pour grand écran de niveau 1 ou niveau 2 est considérée comme une application pour grand écran compatible avec Android XR. Les consignes relatives à la qualité des applications pour grand écran offrent une approche structurée pour garantir une expérience optimale sur Android XR, mais les considérations relatives à l'état de l'appareil, telles que la rotation ou le pliage/dépliage, ne sont pas requises. De même, Android XR n'inclut pas la prise en charge du stylet.
Application différenciée Android XR
Les applis différenciées Android XR étant très différenciées, certaines des fonctionnalités indiquées ne s'appliquent qu'à certains types d'applis spécifiques. Choisissez les fonctionnalités adaptées à votre application. Les applications Android doivent également respecter les Consignes pour les grands écrans / mobiles Android. Consultez les exigences qui s'appliquent à votre application (certaines d'entre elles peuvent également devenir des mises à jour potentielles des règles).
Type d'application / Cas d'utilisation |
Catégorie |
Domaine |
Conseils |
---|---|---|---|
Exigence de référence générale (Android et OpenXR) |
Confidentialité et sécurité |
Connexion au compte (expérience utilisateur pour la première fois) |
Si votre application utilise un système de connexion, présentez clairement les identifiants de connexion de l'utilisateur (par exemple, son nom d'utilisateur) une fois l'authentification réussie. Cela renforce la confiance en confirmant le compte actif. De plus, intégrez un menu ou une page de paramètres facilement accessibles qui permettent aux utilisateurs de consulter et de gérer les informations de leur compte à tout moment. |
Sécurité et confort |
Effet stroboscopique |
Pour assurer la sécurité et le bien-être de tous les utilisateurs, il est essentiel de minimiser le risque d'effets stroboscopiques dans votre application. Évitez d'intégrer intentionnellement des éléments de conception qui pourraient induire un effet stroboscopique. 1. Si un effet stroboscopique est absolument nécessaire, assurez-vous que la fréquence de clignotement est très faible (moins de trois clignotements par seconde) et que la zone de clignotement est petite et subtile. 2. Envisagez de permettre aux utilisateurs de la désactiver dans les paramètres ou les préférences. 3. Afficher un message d'avertissement clair avant tout effet stroboscopique. |
|
Éviter le mal des transports |
Suivez ces consignes pour éviter de provoquer le mal des transports chez les utilisateurs :
|
||
Entrée |
Taille des cibles d'interaction |
Les cibles interactives ont une taille minimale et une taille recommandée en fonction de la distance d'interaction prévue :
Lorsque vous utilisez le SDK Jetpack XR, nous vous recommandons une taille minimale de 48 x 48 dp, avec une taille de cible tactile recommandée de 56 x 56 dp ou plus. |
|
Fonctionnalité technique XR |
Saisie manuelle |
Votre application prend en charge la saisie manuelle naturelle comme méthode d'interaction de base pour Android XR, y compris les exigences de raycast manuel et la prise en charge des gestes pour les primitives d'entrée. Votre application est jouable ou utilisable sans manette, mais peut être améliorée avec une manette si vous le souhaitez. |
|
Boundary (anciennement Guardian) |
Si votre application s'attend à ce que les utilisateurs se déplacent dans leur espace physique à partir de leur point de départ (au lancement de l'application), elle demande le passthrough ou déclare Si votre application utilise |
||
Performances |
Affichage |
Votre application affiche chaque frame en moins de 11,1 ms (90 Hz) et en moins de 13,8 ms (72 Hz). |
|
Résolution |
La résolution de votre application est d'au moins 1 856 x 2 160 par œil. |
||
Temps de démarrage de l'application |
Les utilisateurs veulent pouvoir interagir avec votre application ou votre jeu le plus rapidement possible. La définition d'un bon temps de démarrage ou de chargement varie selon la catégorie, mais en règle générale, nous vous recommandons de minimiser le temps entre le lancement et la première interaction. Consultez les durées cibles ci-dessous :
Pour en savoir plus, consultez Temps de démarrage de l'application. |
||
ANR |
Votre application ne plante pas et ne bloque pas le thread UI, ce qui entraînerait des erreurs ANR ("Android Not Responding"). Votre application présente moins d'une erreur ANR dans 99,5 % des sessions quotidiennes. Votre application utilise le rapport pré-lancement de Google Play pour identifier les problèmes de stabilité potentiels. Après le déploiement, pensez à consulter la page Android Vitals dans la Google Play Console. |
||
Taux de plantages |
Ne pas consommer de ressources système excessives qui ont un impact sur le reste du système et les autres applications, en maintenant un taux d'erreur d'environ 1 %. |
||
Référence pour les applications Android (différenciée pour XR) |
Expérience visuelle et utilisateur |
XR de base |
Votre application implémente au moins une fonctionnalité ou un contenu spécifique à la XR pour améliorer l'expérience utilisateur. Il peut s'agir d'un orbiteur, d'un ou plusieurs panneaux spatiaux, d'environnements ou d'objets 3D. |
Panneaux spatiaux |
Lorsque vous effectuez plusieurs tâches à la fois avec des panneaux, créez des panneaux spatiaux distincts. Par exemple, vous pouvez créer des panneaux spatiaux distincts pour les fenêtres de chat et les listes. |
||
Environnements |
Lorsque vous affichez un environnement virtuel, la luminosité peut être gênante et fatigante. Votre application présente une gamme de tonalités sûre, sans pics de luminosité qui entrent en conflit avec l'UI ou qui pourraient fatiguer l'utilisateur. L'UI est lisible dans toutes les directions, en particulier dans la bande horizontale centrale du regard de l'utilisateur. (Des consignes détaillées seront ajoutées ultérieurement.) |
||
Transition entre le mode d'affichage restreint (HSM) et le mode d'affichage complet (FSM) |
Lorsque vous redirigez les utilisateurs vers le mode d'affichage complet, votre application dispose d'un point d'entrée permettant aux utilisateurs de passer rapidement du mode d'affichage restreint au mode d'affichage complet. Utilisez une icône ou un libellé, et placez le bouton dans un emplacement facilement accessible. |
||
Panneaux spatiaux |
Placez les menus, les composants et les commandes dans un panneau ou un orbiteur dédiés. N'incluez pas ces composants dans le panneau d'édition principal. |
||
Défilement de menu / liste |
Votre application met à jour les interactions de défilement (en particulier via des carrousels ou des listes verticales) pour qu'elles aient une physique ou un élan. Par exemple, le défilement intègre un élan, ce qui fait que le contenu des carrousels et des listes continue de bouger brièvement après une interaction de l'utilisateur avant de s'arrêter progressivement (au lieu de s'arrêter exactement lorsque l'utilisateur cesse d'interagir). |
||
Fonctionnalités vidéo / multimédias |
Expérience visuelle et utilisateur |
Lecteur spatial (Android uniquement) |
Votre application permet aux utilisateurs de regarder du contenu en mode Plein espace. Supprimez les commandes de lecture d'une superposition au-dessus du contenu et placez-les plutôt dans un panneau ou un orbiteur dédiés. Pour les panneaux avec lecture vidéo, définissez le format pour supprimer les bandes noires. |
Son spatial |
Envisagez de prendre en charge le son spatial, y compris l'audio verrouillé dans le panneau ou le son surround. |
||
Regarder des vidéos simultanément |
Si votre application accepte plusieurs flux vidéo simultanés, l'interface utilisateur doit indiquer clairement les informations suivantes :
|
||
Environnement |
Lors de la lecture de contenu en mode d'affichage complet, votre application permet aux utilisateurs de réduire la luminosité de la vue traversante ou de sélectionner des environnements virtuels. |
OpenXR™ et le logo OpenXR sont des marques déposées appartenant à The Khronos Group Inc. et sont enregistrées en Chine, dans l'Union européenne, au Japon et au Royaume-Uni.