Les consignes relatives à la qualité des applications pour les expériences immersives étendent les critères fondamentaux de qualité des applications mobiles.
Ces consignes et règles relatives à la qualité des applications se concentrent sur les interactions et les fonctionnalités spatiales propres à la plate-forme Android XR sur les casques XR et les lunettes XR filaires, comme indiqué dans les définitions des niveaux de compatibilité, les checklists et les Règles relatives aux applications Android XR. Consultez ces sections pour vérifier que votre application offre une expérience utilisateur de qualité sur les casques XR et les lunettes XR filaires.
Expériences immersives : définitions des niveaux de compatibilité
Consultez les définitions des niveaux de compatibilité suivantes pour comprendre le niveau de compatibilité de votre application avec les expériences immersives sur les casques XR et les lunettes XR filaires.
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 compatible, comme la téléphonie. Les utilisateurs peuvent accomplir les procédures essentielles, mais l'expérience utilisateur est loin d'être optimale par rapport à 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 tailles plus grandes. 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 de saisie fournies par Android XR (suivi oculaire + geste ou raycast des mains) et une compatibilité de base avec les périphériques d'entrée externes, y compris le clavier, la souris, le pavé tactile et les manettes de jeu. Il peut ou non être redimensionnable.
Les applications mobiles compatibles avec Android XR sont automatiquement activées et disponibles sur le Google Play Store. Une application qui n'est pas compatible en raison d'exigences de fonctionnalités non compatibles ne peut pas être installée via le Play Store.
Application adaptative compatible avec Android XR
Une application adaptative compatible avec Android XR est une application 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), ainsi qu'une compatibilité améliorée avec les périphériques d'entrée externes et le multitâche. Une application remplit ces conditions si elle est adaptative optimisée (niveau 2) ou adaptative différenciée (niveau 1) pour les ordinateurs, les tablettes ou les pliables.
Les applications adaptatives compatibles avec Android XR sont automatiquement activées et disponibles sur le Play Store.
Application Android XR différenciée
Une application Android XR différenciée propose 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 exploiter pleinement les fonctionnalités d'Android XR et différencier les expériences de votre application en ajoutant des fonctionnalités XR (comme des panneaux spatiaux) et du contenu XR (comme des vidéos 3D) à vos applications en les développant avec le SDK Android Jetpack XR, Unity, Godot, Unreal Engine ou OpenXR.
Vous pouvez utiliser le SDK Jetpack XR pour fournir des fonctionnalités spécifiques à la XR, telles que :
- Panneaux spatiaux
- Environnements
- Modèles 3D
- Son spatial
- les vidéos et photos 3D ou spatiales ;
- Points d'ancrage
- Autres éléments d'UI spatiale, tels que les 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. Pour certains cas d'utilisation, des exigences supplémentaires concernant les fonctionnalités et le contenu peuvent s'appliquer. Pour en savoir plus, consultez les sections suivantes.
Toutes les applications créées avec Unity, Godot, Unreal Engine ou OpenXR sont considérées comme différenciées tant qu'elles répondent aux métriques de qualité et aux exigences minimales pour être considérées comme des applications Android XR différenciées. Par exemple, une application présentant une fréquence d'images faible, des plantages ou d'autres expériences utilisateur négatives ne serait pas éligible.
Aidez les utilisateurs à découvrir votre application sur le Play Store grâce à un badge
Les applications Android XR différenciées reçoivent automatiquement un badge "Conçue pour la XR" sur le Play Store pour aider les utilisateurs à découvrir des expériences de XR de haute qualité.
Expériences immersives : checklist de compatibilité
Pour vérifier que votre application offre une expérience utilisateur optimale sur les casques XR et les lunettes XR filaires, consultez les checklists et les tests de compatibilité suivants.
Ces checklists et ces tests définissent un ensemble complet de critères de qualité applicables à la plupart des types d'applications Android.
Application mobile compatible avec Android XR
Votre application doit respecter les critères fondamentaux de qualité 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 adaptative compatible avec Android XR
Toute application optimisée pour l'adaptabilité de niveau 2 ou différenciée pour l'adaptabilité de niveau 1 pour les ordinateurs, les tablettes ou les pliables est également considérée comme une application adaptative compatible avec Android XR. Les consignes relatives à la qualité des applications adaptatives offrent une approche structurée pour garantir une expérience de qualité sur Android XR, mais les considérations liées à l'état de l'appareil, telles que la rotation ou le pliage/dépliage, ne sont pas requises.
Application différenciée Android XR
Les applications différenciées Android XR étant très différenciées, certaines des fonctionnalités indiquées ne s'appliquent qu'à certains types d'applications spécifiques. Choisissez les fonctionnalités adaptées à votre application. Les applications Android doivent également respecter les consignes relatives à la qualité des applications adaptatives. Consultez les exigences applicables à votre application.
Vous devez également suivre les conseils pour concevoir des applications différenciées pour la XR afin d'offrir la meilleure expérience utilisateur possible.
Type d'application et cas d'utilisation |
Catégorie |
Domaine |
Conseils |
|---|---|---|---|
Exigence de base générale (Android et OpenXR) |
Confidentialité et sécurité |
Connexion au compte (première expérience utilisateur) |
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 accessible qui permet aux utilisateurs de consulter et de gérer les informations de leur compte à tout moment. |
Sécurité et confort |
Stroboscopique |
Pour garantir 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'incorporer intentionnellement des éléments de conception susceptibles de provoquer 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 proposer une option permettant de la désactiver dans les paramètres ou les préférences. 3. Affichez 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 :
|
||
Moins lumineux |
Respectez les paramètres de gradation établis par l'utilisateur pour éviter les risques de sécurité. Vous pouvez ajuster le variateur pour offrir une expérience optimale dans votre application, mais les utilisateurs peuvent le modifier manuellement à tout moment. |
||
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és techniques de la XR |
Saisie manuelle |
Votre application accepte la saisie naturelle à la main comme méthode d'interaction de base pour Android XR, y compris les exigences de raycast manuel et la compatibilité gestuelle pour les primitives de saisie. Votre application est jouable ou utilisable sans manette, mais peut être améliorée si vous choisissez d'en utiliser une. |
|
Périmètre |
Si votre application est principalement axée sur le monde réel ( Si votre application est principalement axée sur un monde virtuel ( Si votre application utilise Lunettes XR : il n'y a pas de limite sur les lunettes XR. |
||
Performances |
Affichage |
Votre application affiche chaque image entre < 11,1 ms (90 Hz) et < 13,8 ms (72 Hz). |
|
Solution |
OpenXR et moteurs : interrogez |
||
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 réduire au maximum le temps entre le lancement et la première interaction. Voici les durées cibles :
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 appli 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 consommez pas de ressources système excessives qui pourraient avoir un impact sur le reste du système et sur d'autres applications, en maintenant un taux de plantage d'environ 1 %. |
||
Baseline des applications Android (différencié pour la 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 de plusieurs panneaux spatiaux, d'environnements ou d'objets 3D. |
Panneaux spatiaux |
|
||
Environnements |
Lorsque vous affichez un environnement virtuel, la luminosité peut être distrayante et fatigante. Votre application présente une gamme de tons sûre, sans pics de luminosité qui entrent en conflit avec l'UI ou qui pourraient fatiguer l'utilisateur. L'interface utilisateur est lisible dans toutes les directions, en particulier dans la bande horizontale centrale du regard de l'utilisateur. (Des instructions détaillées seront ajoutées ultérieurement.) |
||
Thème de l'UI |
Utilisez par défaut ou encouragez fortement l'utilisation d'un thème sombre. Les applications avec un thème clair apparaîtront très lumineuses, ne s'intégreront pas dans l'environnement de l'utilisateur et déchargeront la batterie plus rapidement. Pour les lunettes XR, implémentez toujours un thème sombre, car le système utilise un thème sombre par défaut. |
||
Passer du mode Home Space (HSM) au mode Full Space (FSM) |
Lorsque vous redirigez les utilisateurs vers l'espace Full Space, votre application dispose d'un point d'entrée permettant aux utilisateurs de passer rapidement de l'espace Home Space à l'espace Full Space. Utilisez une icône ou un libellé, et placez le bouton dans un endroit facile d'accès. |
||
Défilement de menu et de 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 une inertie. Par exemple, le défilement intègre une inertie, ce qui fait que le contenu des carrousels et des listes continue de se déplacer 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 arrête de faire défiler l'écran). |
||
Fonctionnalités vidéo et multimédias |
Expérience visuelle et utilisateur |
Lecteur spatial (Android uniquement) |
Votre application permet aux utilisateurs de regarder du contenu dans l'espace Full Space. 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é. Pour les panneaux avec lecture vidéo, définissez le format de manière à supprimer les bandes noires. |
Son spatial |
Envisagez d'utiliser le son spatial, y compris le son verrouillé sur le panneau ou le son surround. |
||
Visionnage simultané de vidéos |
Si votre application est compatible avec plusieurs flux vidéo simultanés, l'interface utilisateur indique clairement les informations suivantes :
|
||
Environnement |
Lors de la lecture de contenus vidéo en mode Full Space, votre application permet aux utilisateurs d'assombrir le passthrough (ou de sélectionner des environnements virtuels sur les appareils compatibles). |
Règles concernant les applications Android XR
Toutes les applications doivent respecter les exigences des règles suivantes afin de promouvoir des expériences utilisateur sûres et respectueuses sur les appareils immersifs tels que les casques XR et les lunettes XR filaires.
Sécurité des applications
Pour rappel, toutes les applications distribuées via Google Play doivent respecter l'intégralité du Règlement pour les développeurs Google Play.
Les activités suivantes sont strictement interdites, et les applications ne doivent pas les faciliter ni les promouvoir :
- Doxxing
- Reconnaissance faciale ou identification biométrique
- Surveillance
- Création ou diffusion d'images intimes non consenties
Les protections suivantes pour les tiers sont obligatoires pour toutes les applications :
Sécurité de la caméra
Les applications qui accèdent à l'appareil photo doivent respecter la confidentialité des personnes à proximité et respecter les règles suivantes :
Interactions interdites |
Description |
|---|---|
Identification faciale en temps réel et doxxing |
Les applications ne doivent pas utiliser les capteurs de l'appareil photo pour effectuer une identification faciale afin d'afficher des informations permettant d'identifier personnellement les personnes à proximité. Par exemple : nom, adresse du domicile, numéro de téléphone ou employeur. |
Génération d'images intimes non consenties ou de contenu illégal |
Les applications ne doivent pas utiliser les capteurs de l'appareil photo pour faciliter la création d'images intimes non consenties ni de tout contenu illégal (par exemple, des contenus d'abus sexuels sur mineurs). |
Sécurité audio
Les applications utilisant le jeu de micros doivent respecter la confidentialité des personnes à proximité et respecter les consignes suivantes :
Interactions interdites |
Description |
|---|---|
Écoute persistante |
Les applications ne doivent pas maintenir d'enregistrement audio ni de transcription persistants en arrière-plan lorsque l'utilisateur n'interagit pas activement avec l'application pour une tâche qu'il a lancée. |
Identification de la voix |
Les applications ne doivent pas utiliser le jeu de micros pour identifier les voix de personnes autres que l'utilisateur ou des passants. |
Comportements des voyants LED
Les applications ne doivent pas effectuer les opérations suivantes concernant les LED de l'appareil orientées vers l'utilisateur et vers l'extérieur :
Interactions interdites |
Description |
|---|---|
Suppression ou modification programmatique |
Les applications ne doivent pas modifier, atténuer ni désactiver le comportement des voyants LED orientés vers l'extérieur et visibles par l'utilisateur, qui sont imposés par le système en fonction de l'accès au micro et à l'appareil photo. Les applications ne doivent pas non plus encourager ni inciter les utilisateurs à modifier, atténuer ou désactiver le comportement des LED. |
Contournement de la détection des accès non autorisés |
Les applications ne doivent pas contourner les algorithmes de détection de l'appareil, ni interférer avec eux, ni encourager ou inciter les utilisateurs à le faire. Ces algorithmes sont conçus pour arrêter l'enregistrement de manière programmatique si la LED orientée vers l'extérieur est physiquement couverte ou endommagée. |
OpenXR™ et le logo OpenXR sont des marques appartenant à The Khronos Group Inc. et sont déposées en Chine, dans l'Union européenne, au Japon et au Royaume-Uni.