Critères fondamentaux de qualité des applis

Dernière mise à jour : 17 mai 2021

Pour juger de l'excellence d'une appli, vous pouvez passer en revue les différentes procédures réalisables dans votre appli afin d'évaluer la fluidité et la sécurité de l'expérience utilisateur.

Cette checklist définit un ensemble de critères de qualité fondamentaux ainsi que les tests correspondants pour vous aider à évaluer la qualité de votre appli. Il est facile de passer à côté de certains critères, et ces tests vous aident à ne pas les oublier dans vos programmes de test.

La checklist met en évidence le niveau de qualité minimal que toutes les applis doivent respecter. Il est fort probable que vos tests soient bien plus poussés.

Chaque élément de la checklist de qualité est associé à un identifiant unique qui peut vous être utile pour communiquer avec votre équipe. Vous pouvez également consulter la version précédente de ces consignes.

Expérience visuelle

Les modèles de conception graphique et d'interaction de votre appli doivent respecter les standards d'Android, pour une expérience utilisateur cohérente et intuitive.

Domaine ID Tests Description
Navigation VX-N1 CR-3 L'appli est compatible avec la navigation standard via le bouton Retour et n'affiche pas de commande personnalisée servant de bouton de retour.
VX-N2 CR-3 L'appli est compatible avec la navigation par gestes pour accéder et revenir à l'écran d'accueil.
VX-N3 CR-1
CR-3
CR-5

L'appli conserve et restaure correctement l'état de l'utilisateur ou son propre état.

Elle préserve l'état de l'utilisateur ou son propre état lorsqu'elle quitte le premier plan, et empêche la perte accidentelle de données en cas de retour en arrière ou d'un autre changement d'état.

Lors du retour au premier plan, l'appli doit restaurer l'état préservé et les éventuelles transactions avec état qui étaient en attente. Exemples : modifications effectuées dans des champs modifiables, progression dans un jeu, menus, vidéos et autres sections de l'appli ou du jeu.

  1. Lorsque l'appli est réactivée à partir du sélecteur d'applis récentes, l'utilisateur retrouve l'état exact dans lequel elle se trouvait lors de la dernière utilisation.
  2. Lorsque l'appli est réactivée suite à une sortie de veille de l'appareil (état verrouillé), l'utilisateur retrouve l'état exact dans lequel elle se trouvait lors de la dernière utilisation.
  3. Lorsque l'appli est réactivée depuis "Accueil" ou "Toutes les applis", elle doit effectuer l'une des opérations suivantes, en fonction du temps écoulé depuis sa dernière utilisation :
    • Si elle a été utilisée pour la dernière fois il y a peu de temps (quelques minutes), elle doit rétablir un état le plus proche possible de son état précédent.
    • Si elle n'a pas été utilisée depuis plus longtemps, essayez de faire en sorte que l'appli retrouve un état le plus proche possible de son état précédent, sinon démarrez-la sur l'écran d'accueil ou un autre état par défaut.
Notifications VX-S1 CR-9

Les notifications respectent les consignes du Material Design. En particulier :

  1. Les notifications ne sont pas utilisées pour faire de la promotion croisée ou de la publicité pour un autre produit, car cette pratique est strictement interdite sur le Play Store.
  2. Les canaux de notification sont définis selon les bonnes pratiques au lieu de diffuser toutes les notifications à partir d'un seul canal.
  3. Il convient de sélectionner la priorité de notification adéquate.
  4. S'il y a plusieurs notifications, elles sont empilées dans un seul groupe de notifications, si possible.
  5. Définissez des délais d'expiration pour les notifications si c'est judicieux.
  6. Les notifications ne sont permanentes que si elles sont liées à des événements en cours, comme la lecture de musique ou un appel téléphonique. Pour en savoir plus, consultez la section Fonctionnalité.
VX-S2 CR-9

Pour les applis de chat, les applis de réseau social et les conversations :

  1. Utilisez les notifications MessagingStyle pour les conversations.
  2. Prenez en charge l'action Réponse directe.
  3. Prenez en charge les raccourcis de conversation et respectez les bonnes pratiques pour être bien classé dans le partage direct.
  4. Prenez en charge les bulles.
UI et graphismes VX-U1 CR-5 L'appli est compatible avec les modes paysage et portrait (si possible) et le pliage/dépliage des appareils.

L'appli offre globalement les mêmes fonctionnalités et les mêmes actions quelle que soit l'orientation, et préserve la parité fonctionnelle entre les orientations. De petits changements de contenu ou d'affichage sont tolérés.

VX-U2 CR-5 L'appli utilise la totalité de l'écran dans les deux orientations et n'utilise pas le format letterbox en cas de changement d'orientation, y compris lors du pliage et du dépliage des appareils.

En cas de légère variation de la géométrie de l'écran, l'utilisation du format letterbox sur une toute petite zone est tolérée.

VX-U3 CR-5 L'appli gère correctement les transitions rapides entre les différentes orientations de l'écran et le pliage/dépliage des appareils, sans problèmes d'affichage ni perte d'état.
Qualité visuelle VX-V1 CR-all

L'appli affiche les graphismes, textes, images et autres éléments de l'interface utilisateur sans distorsion, flou ni pixélisation notable.

  1. Quand c'est possible, elle doit utiliser des drawables vectoriels.
  2. Elle affiche des graphismes de qualité sur l'ensemble des tailles d'écran et facteurs de forme ciblés.
  3. Aucun crénelage n'est visible au bord des menus, des boutons et des autres éléments de l'interface utilisateur.
VX-V2 CR-all

L'appli affiche le texte et les blocs de texte de manière acceptable dans chacune des langues compatibles.

  1. La composition est acceptée dans tous les facteurs de forme compatibles.
  2. Il n'y pas de lettre ni de mot tronqué visible dans l'appli.
  3. Aucun retour à la ligne inapproprié n'est visible sur les boutons ou les icônes.
  4. L'espacement entre le texte et les éléments situés autour est suffisant.
VX-V3 CR-all Le contenu de l'appli et tous les contenus Web auxquels elle fait référence sont compatibles avec le thème sombre.
Accessibilité VX-A1 CR-all

Les zones cibles tactiles doivent faire au moins 48 dp. En savoir plus

VX-A2 CR-all

Le texte et les contenus de premier plan de l'appli doivent être suffisamment contrastés par rapport à l'arrière-plan :

  • Rapport de 3:1 pour le texte et les graphismes de grande taille
  • Rapport de 4,5:1 pour le texte de petite taille (texte de moins de 18 pt, ou de moins de 14 pt s'il est en gras)

En savoir plus sur les couleurs et le contraste

VX-A3 CR-all Décrivez chaque élément d'interface utilisateur sauf TextView, avec contentDescription.

Fonctionnalité

Votre appli doit implémenter le comportement fonctionnel attendu.

Domaine ID Tests Description
Son FN-A1 CR-1
CR-8
Le son est réactivé lorsque l'appli revient au premier plan, sinon l'appli indique à l'utilisateur que la lecture est en pause.
FN-A2 CR-1
CR-2
CR-8
Si la lecture audio est une fonctionnalité essentielle, l'appli doit gérer la lecture en arrière-plan.
FN-A3 CR-0

Lorsque l'utilisateur lance la lecture audio, l'appli doit effectuer l'une des opérations suivantes dans un délai d'une seconde :

  1. Lancer la lecture de l'audio
  2. Afficher un indicateur visuel signalant que les données audio sont en cours de préparation
FN-A4 CR-0 L'appli doit demander la priorité audio quand la lecture audio commence, et abandonner la priorité audio quand la lecture s'arrête.
FN-A5 CR-0 L'appli doit savoir gérer les demandes de priorité audio provenant d'autres applis. Par exemple, elle peut baisser le volume de lecture lorsqu'une autre appli lit un contenu vocal.
Multimédia FN-M1 CR-0
CR-6
CR-8
Si l'appli lit un contenu audio en arrière-plan, elle doit créer une notification stylisée avec MediaStyle.
FN-M2 CR-0 Si l'appli lit de la vidéo, elle doit gérer la lecture Picture-in-picture.
FN-M3 CR-0 Si l'appli encode de la vidéo, elle doit utiliser la norme de compression vidéo HEVC.
Partage FN-S1 CR-0 L'appli doit utiliser Android Sharesheet pour partager des contenus. Elle peut suggérer des cibles qui ne sont pas disponibles pour les solutions personnalisées.
Service d'arrière-plan FN-B1 CR-6 L'appli évite d'exécuter des services inutilement longs en arrière-plan. Pour assurer la fluidité de l'appareil de l'utilisateur, le système applique différentes restrictions aux services d'arrière-plan. Les pratiques suivantes sont considérées comme des usages incorrects des services d'arrière-plan :
  • Maintien d'une connexion réseau pour les notifications
  • Maintien d'une connexion Bluetooth
  • Maintien du GPS allumé

Découvrez comment choisir la solution adaptée à votre travail.

Performances et stabilité

Votre appli doit répondre aux attentes des utilisateurs sur le plan des performances, de la stabilité, de la compatibilité et de la réactivité.

Domaine ID Tests Description
Stabilité PS-S1 CR-all
SD-1
L'appli ne plante pas et ne bloque pas le thread UI, ce qui entraînerait des erreurs ANR (Android Not Responding). Utilisez 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.
Performances PS-P1 CR-all
SD-1
L'appli se charge rapidement, ou affiche un indicateur de progression ou un autre signal similaire si le chargement prend plus de deux secondes.
PS-P2 CR-all
SD-1
Les applis doivent effectuer un rendu des images toutes les 16 ms pour atteindre 60 images par seconde. Les développeurs peuvent utiliser l'option Rendu HWUI du profil lors des tests. En cas de problème, des outils sont à votre disposition pour diagnostiquer les lenteurs d'affichage.
PS-P3 PM-1 Si StrictMode est activé (consultez ci-dessous Tests avec StrictMode), aucun clignotement rouge (avertissement StrictMode lié aux performances) n'est visible lorsque vous testez l'appli. Les clignotements rouges signalent les comportements insatisfaisants concernant le stockage, l'accès au réseau ou les fuites de mémoire.
SDK PS-T1 CR-0 L'appli s'exécute sur la dernière version publique de la plate-forme Android sans planter ni nuire gravement aux fonctionnalités de base.
PS-T2 SP-1 L'appli cible le dernier SDK Android nécessaire pour répondre aux exigences de Google Play, en définissant la valeur targetSdk.
PS-T3 SP-1 L'appli est conçue avec le dernier SDK Android en définissant la valeur compileSdk.
PS-T4 SP-2
SP-3
Tous les SDK Google ou tiers utilisés sont à jour. Toutes les améliorations apportées à ces SDK, par exemple pour la stabilité, la compatibilité ou la sécurité, doivent être disponibles rapidement pour les utilisateurs.

Pour les SDK Google, envisagez d'utiliser des SDK fournis par les services Google Play, s'ils sont disponibles. Ces SDK sont rétrocompatibles, reçoivent des mises à jour automatiques, réduisent la taille de votre package d'appli et utilisent efficacement les ressources sur l'appareil.

Le développeur est responsable de l'ensemble du codebase de l'appli, y compris des éventuels SDK tiers utilisés.

PS-T5 SP-3 L'appli n'utilise pas d'interfaces autres que les SDK.
PS-T6 SP-2 Aucune bibliothèque de débogage n'est incluse dans l'appli de production, car cela pourrait entraîner des problèmes de performances et de sécurité.
Batterie PS-B1 BA-1 L'appli gère correctement les fonctionnalités de gestion de l'alimentation introduites dans Android 6.0 (Sommeil et Mise en veille des applis). Dans le cas où la gestion de l'alimentation perturbe les fonctionnalités de base, seules les applis qualifiées peuvent demander une exception. Consultez Prise en charge d'autres scénarios d'utilisation dans Sommeil et Mise en veille des applis.

Pendant le développement, les développeurs peuvent tester le comportement des fonctionnalités Mise en veille des applis et Sommeil à l'aide de ces commandes ADB.

En ce qui concerne l'utilisation de la batterie, les développeurs peuvent utiliser le profileur d'énergie d'Android Studio ou l'outil Battery Historian ainsi que des tâches programmées en arrière-plan afin de diagnostiquer une utilisation inattendue de la batterie.

Confidentialité et sécurité

Votre appli doit traiter les données utilisateur et les informations personnelles de manière sécurisée, avec le niveau d'autorisation approprié.

En plus de cette checklist, les applis publiées sur le Google Play Store doivent également respecter les Règles sur les données utilisateur afin de protéger la confidentialité des utilisateurs.

Domaine ID Tests Description
Autorisations SC-P1 SC-4 L'appli ne demande que le nombre minimum absolu d'autorisations dont elle a besoin pour prendre en charge son scénario d'utilisation. Pour certaines autorisations comme la position, utilisez si possible la position approximative plutôt que la position précise.
SC-P2

L'appli ne demande l'autorisation d'accéder à des données sensibles (SMS, journal d'appels ou position, par exemple) ou à des services payants (comme Téléphone ou SMS) que lorsque ces données ou services sont directement liés à ses principaux scénarios d'utilisation. Les implications liées à ces autorisations doivent être communiquées de façon visible à l'utilisateur.

Selon la façon dont vous utilisez les autorisations, il existe une autre manière de traiter le scénario d'utilisation de votre appli sans devoir accéder à des informations sensibles. Par exemple, plutôt que de demander des autorisations liées aux contacts d'un utilisateur, il peut être plus judicieux de demander l'accès en utilisant un intent implicite.

SC-P3 CR-0 L'appli demande des autorisations d'exécution en contexte, c'est-à-dire quand la fonctionnalité est demandée plutôt qu'au démarrage de l'appli.
SC-P4 CR-0

L'appli indique clairement pourquoi certaines autorisations sont nécessaires ou suit la procédure recommandée pour expliquer pourquoi l'autorisation est nécessaire.

SC-P5 CR-0 L'appli doit effectuer une dégradation élégante si les utilisateurs refusent ou révoquent une autorisation. L'appli ne doit pas bloquer l'accès à l'utilisateur.
Données et fichiers SC-DF1 SC-1 Toutes les données sensibles sont stockées dans la mémoire de stockage interne de l'appli.
SC-DF2 SC-10 Aucune donnée utilisateur personnelle ou sensible n'est enregistrée dans le journal système ou dans un journal propre à l'appli.
SC-DF3 L'appli n'utilise aucun identifiant de matériel non réinitialisable (code IMEI, par exemple), à des fins d'identification.
Identité SC-ID1 CR-0 L'appli fournit des suggestions de saisie automatique pour les identifiants de compte et d'autres informations sensibles (informations de carte de crédit, adresses physiques, numéros de téléphone, etc.).
SC-ID2 CR-0 Pour faciliter la connexion au compte, intégrez One Tap pour Android.
SC-ID3 CR-0 L'appli accepte l'authentification biométrique pour protéger les transactions financières ou les informations sensibles (documents importants de l'utilisateur, par exemple).
Composants de l'appli SC-AC1 SC-5

L'appli définit le paramètreandroid:exported pour l'ensemble des activités, services, broadcast receivers et en particulier pour les fournisseurs de contenu.

Seuls les composants d'appli qui partagent des données avec d'autres applis ou qui doivent être appelés par d'autres applis sont exportés.

SC-AC2 CR-0
SC-4

L'ensemble des intents et des diffusions respectent les bonnes pratiques :

  1. Utilisez des intents explicites si l'appli de destination est bien définie.
  2. Utilisez des intents pour déléguer les autorisations à une autre appli disposant déjà de l'autorisation.
  3. Partagez les données de façon sécurisée entre les applis.
  4. Les intents contenant une charge utile doivent être validés avant d'être utilisés.
  5. Si vous devez transmettre un intent à une autre appli afin que celle-ci puisse appeler et espérer un rappel dans l'appli appelante, n'incluez pas d'intent imbriqué dans les options. Utilisez un PendingIntent.
  6. Lors de la configuration de vos PendingIntents, définissez explicitement l'indicateur Immutable, le cas échéant.
SC-AC3 SC-3 Tous les composants qui partagent des contenus entre vos applis utilisent android:protectionLevel="signature" pour les autorisations personnalisées. C'est le cas pour les activités, les services, les broadcast receivers et en particulier pour les fournisseurs de contenu.

Les applis ne doivent pas dépendre de l'accès à une liste de packages installés. L'accès est limité depuis Android 11.

Réseau SC-N1 SC-9 Le trafic réseau est intégralement envoyé via le protocole SSL.
SC-N2 SC-6 L'appli déclare une configuration de sécurité réseau.
SC-N3 Si l'appli utilise les services Google Play, le fournisseur de sécurité est initialisé quand elle démarre.
WebViews SC-W1 SC-6 N'utilisez pas setAllowUniversalAccessFromFileURLs() pour accéder au contenu local. Utilisez plutôt WebViewAssetLoader.
SC-W2 SC-7 Les WebViews ne doivent pas utiliser addJavaScriptInterface() avec du contenu non approuvé.

Sur Android 6.0 et versions ultérieures, utilisez plutôt les canaux de message HTML.

Exécution SC-E1 L'appli ne charge pas dynamiquement du code extérieur à son APK. Les développeurs doivent utiliser le format Android App Bundle, qui inclut Play Feature Delivery et Play Asset Delivery.

Depuis août 2021, l'utilisation d'Android App Bundle est obligatoire pour toutes les nouvelles applis du Google Play Store.

Cryptographie SC-C1 L'appli utilise de puissants algorithmes cryptographiques fournis par la plate-forme et un générateur de nombres aléatoires. Elle n'implémente pas d'algorithmes personnalisés.

Google Play

Vérifiez que vos applis peuvent être publiées sur Google Play.

Domaine ID Tests Description
Règles GP-P1 GP-all L'appli respecte à la lettre le Règlement relatif au contenu Google Play pour les développeurs. Elle ne propose pas de contenus inappropriés, et elle n'utilise pas la propriété intellectuelle ni la marque d'autres personnes, etc.
GP-P2 GP-1 La classification d'âge de l'appli est adéquate, en fonction des Consignes de classification du contenu.
Page d'informations sur l'appli GP-D1 GP-1
GP-2

L'image de présentation de l'appli respecte les consignes décrites dans cet article d'aide. Faites les vérifications suivantes :

  1. La fiche de l'appli contient une image de présentation de haute qualité.
  2. L'image de présentation ne contient pas de photos d'appareil, de capture d'écran ni de petits caractères qui sont illisibles lorsqu'ils sont affichés en taille réduite sur la plus petite taille d'écran ciblée par votre appli.
  3. L'image de présentation ne ressemble pas à une publicité.
GP-D2 GP-1 Les captures d'écran et vidéos de l'appli ne montrent et ne mentionnent pas d'appareils autres que des appareils Android.
GP-D3 GP-1 Les captures d'écran ou vidéos de l'appli ne représentent pas ses contenus ni son expérience utilisateur de manière trompeuse.
Assistance utilisateur GP-X1 GP-1 Les bugs courants signalés par les utilisateurs dans l'onglet "Avis" de la page Google Play sont résolus s'ils sont reproductibles et surviennent sur de nombreux appareils différents. Si un bug ne survient que sur quelques appareils, vous devez quand même le résoudre si ces appareils sont particulièrement populaires ou récents.

Configurer un environnement de test

Afin de configurer un environnement de test pour cette checklist, nous vous recommandons de suivre ces conseils :

  • Concentrez-vous sur les tests avec un émulateur : Android Emulator est un excellent moyen pour tester votre appli sous différentes versions d'Android et résolutions d'écran. Vous devez configurer les appareils émulés (AVD) de façon à représenter les facteurs de forme et les combinaisons matériel/logiciels les plus utilisés par votre base d'utilisateurs cible. En plus des tests concernant les téléphones, nous vous recommandons de tester d'autres facteurs de forme en utilisant au minimum les émulateurs suivants :
    • Appareils pliables : appareil de 7,6 pouces avec écran pliable (classé avec les téléphones dans AVD Manager).
    • Tablette : Pixel C 9,94 pouces (2 560 x 1 800 px)
    • Pour tester les notifications des applis mobiles, associez un appareil mobile/émulateur à un émulateur Wear OS (Wear OS de forme ronde 1,84 pouces).
  • Matériel : votre environnement de test doit inclure quelques périphériques physiques représentant les principaux facteurs de forme et combinaisons matériel/logiciels actuellement disponibles pour le grand public. Il n'est pas nécessaire d'effectuer des tests pour tous les appareils disponibles sur le marché. Concentrez-vous sur quelques appareils représentatifs, voire un ou deux appareils par facteur de forme.
  • Bancs de test d'appareils : vous pouvez également utiliser des services tiers comme Firebase Test Lab pour tester votre appli sur un plus large éventail d'appareils.
  • Faites vos tests avec la dernière version d'Android : en plus de tester votre appli avec des versions d'Android représentatives de votre base d'utilisateurs cible, vous devez toujours la tester sur la dernière version d'Android (actuellement Android 11). Vous aurez ainsi la certitude que les nouveaux comportements n'ont pas d'incidence sur l'expérience utilisateur.

Pour obtenir des conseils plus complets sur les tests, dont les tests unitaires, les tests d'intégration et les tests d'UI, consultez les principes de base des tests sur Android.

Procédures de test

Ces procédures de test vous aident à détecter différents types de problèmes de qualité dans votre appli. Vous pouvez combiner les tests ou intégrer des groupes de tests dans vos propres programmes de test. Consultez les sections ci-dessus pour voir le lien entre les critères de qualité et ces procédures de test.

Type Test Description
Suite de tests principale CR-0

Accédez à l'ensemble des sections de l'appli (intégralité des écrans, boîtes de dialogue, paramètres et parcours utilisateur).

  1. Si l'appli permet de modifier ou créer des contenus, de jouer ou de lire des contenus multimédias, pensez à tester ces procédures.
  2. Quand vous testez votre appli, introduisez des interruptions provenant d'autres applis, par exemple des notifications ou des appels téléphoniques. Appliquez des changements temporaires aux attributs de l'appareil (connectivité réseau, fonctionnement de la batterie, disponibilité du GPS, charge système, etc.).
  3. Accédez à tous les parcours d'achat via une appli et testez-les.
CR-1 Depuis chaque écran de l'appli, appuyez sur le bouton d'accueil de l'appareil ou balayez l'écran vers le haut dans la navigation par gestes, puis relancez l'appli depuis l'écran "Toutes les applis".
CR-2 Depuis chaque écran de l'appli, passez à une autre appli en cours d'exécution, puis revenez à l'appli à tester à l'aide du sélecteur d'applis récentes.
CR-3 Sur chaque écran de l'appli (et dans chaque boîte de dialogue), appuyez sur le bouton Retour ou faites un geste de retour en arrière.
CR-5 À partir de chaque écran de l'appli, faites pivoter l'appareil entre les modes paysage et portrait, et pliez et dépliez-le au moins trois fois.
CR-6 Passez à une autre appli pour envoyer l'appli testée en arrière-plan. Accédez aux paramètres et regardez si l'appli testée exécute des services en arrière-plan. Sur Android 4.0 ou version ultérieure, accédez à l'écran "Applis", puis recherchez l'appli dans l'onglet "En cours".
CR-7 Appuyez sur le bouton Marche/Arrêt pour mettre l'appareil en veille, puis appuyez à nouveau dessus pour réactiver l'écran.
CR-8 Configurez le verrouillage de l'écran de l'appareil. Appuyez sur le bouton Marche/Arrêt pour mettre l'appareil en veille afin de le verrouiller. Appuyez de nouveau sur le bouton Marche/Arrêt pour réactiver l'écran et déverrouiller l'appareil.
CR-9 Déclenchez tous les types de notifications que l'appli peut afficher et examinez-les dans le panneau des notifications. Développez les notifications le cas échéant (Android 4.1 et versions ultérieures), puis appuyez sur toutes les actions disponibles.
CR-10 Vérifiez la compatibilité avec d'autres scénarios d'utilisation dans les fonctionnalités Sommeil et Mise en veille des applis.
Installation sur la carte SD SD-1 Répétez la suite de tests principale avec l'appli installée sur la carte SD d'un appareil (si l'appli est compatible avec cette méthode d'installation).

Pour déplacer l'appli sur la carte SD, vous pouvez utiliser Paramètres > Infos sur l'appli > Déplacer vers la carte SD.

Performances et stabilité SP-1 Examinez le fichier manifeste Android et la configuration de compilation pour vous assurer que l'appli est compilée avec le dernier SDK disponible (targetSdk et compileSdk).
SP-2 Examinez le fichier build.gradle pour identifier d'éventuelles dépendances obsolètes.
SP-3 Utilisez l'outil lint d'Android Studio afin de détecter l'utilisation d'interfaces autres que les SDK. D'autres méthodes de test existent.
Surveillance des performances PM-1 Répétez la suite de tests principale avec le profilage StrictMode activé.

Soyez particulièrement attentif à la récupération de mémoire et à son impact sur l'expérience utilisateur.

Batterie BA-1 Répétez la suite de tests principale sur les cycles des fonctionnalités Sommeil et Mise en veille des applis.

Soyez particulièrement attentif aux alarmes, minuteurs, notifications, synchronisations, etc. Pour connaître les conditions requises et les consignes, consultez Test avec les fonctionnalités Sommeil et Mise en veille des applis.

Sécurité SC-1 Examinez toutes les données stockées dans l'espace de stockage externe.
SC-2 Examinez comment les données chargées depuis l'espace de stockage externe sont gérées et traitées.
SC-3 Examinez tous les fournisseurs de contenu définis dans le fichier manifeste Android. Assurez-vous que chaque fournisseur dispose d'un protectionLevel approprié.
SC-4 Sur l'appareil, passez en revue les autorisations requises par votre appli dans le fichier manifeste, au moment de l'exécution et sur l'écran des paramètres de l'appli (Paramètres > Infos sur l'appli).
SC-5 Vérifiez tous les composants d'appli définis dans le fichier manifeste Android pour contrôler que l'état d'exportation est correct. La propriété exportée doit être définie explicitement pour tous les composants.
SC-6 Examinez la configuration de la sécurité réseau de l'appli pour contrôler qu'aucune vérification lint n'échoue.
SC-7 Pour chaque WebView, accédez à une page nécessitant JavaScript.
SC-8 Dans chaque WebView, essayez d'accéder à des sites et à des contenus qui ne sont pas chargés directement par votre appli.
SC-9 Déclarez une configuration de sécurité réseau qui désactive le trafic en texte clair, puis testez l'appli.
SC-10 Exécutez l'appli et déclenchez toutes les fonctionnalités essentielles tout en observant le journal de l'appareil. Aucune information privée sur l'utilisateur ne doit être enregistrée.
Google Play GP-1 Connectez-vous à la Google Play Console pour consulter votre profil de développeur, la description de l'appli, les captures d'écran, l'image de présentation, la classification du contenu et les commentaires des utilisateurs.
GP-2 Téléchargez votre image de présentation et vos captures d'écran, puis réduisez leur taille pour qu'elle corresponde à la taille d'affichage sur les appareils et facteurs de forme que vous ciblez.
GP-3 Examinez l'ensemble des assets graphiques, contenus multimédias, textes, bibliothèques de code et autres contenus inclus dans l'appli ou le fichier d'appli téléchargeable.

Test avec StrictMode

Pour tester les performances, nous vous recommandons d'activer StrictMode dans votre appli et de l'utiliser pour détecter les opérations susceptibles de nuire aux performances, aux accès réseau, aux opérations de lecture ou d'écriture de fichiers, etc. Recherchez les opérations susceptibles de poser problème, aussi bien sur le thread principal que sur d'autres threads.

Vous pouvez configurer une règle de surveillance par thread avec StrictMode.ThreadPolicy.Builder et activer tous les dispositifs de surveillance compatibles dans ThreadPolicy avec detectAll().

Veillez à activer la notification visuelle des cas de non-respect des règles pour ThreadPolicy avec penaltyFlashScreen().