Critères fondamentaux de qualité des applications

Voici une copie archivée, mise à jour pour la dernière fois le 10 février 2021. Vous pouvez également afficher la version actuelle consignes.

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 utiles lorsque vous communiquez avec votre équipe.

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 promotion d'un autre produit, car cette pratique est strictement interdite sur le Play Store.
  2. Définissez correctement les canaux de notification conformément aux bonnes pratiques, au lieu de diffuser toutes les notifications depuis un seul canal.
  3. Sélectionnez la priorité de notification appropriée.
  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 (voir la section Fonctionnalité) ou un appel téléphonique.
VX-S2 CR-9

Pour les applications de chat, de réseaux sociaux 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'application est compatible avec les orientations paysage et portrait (si possible).

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'application utilise la totalité de l'écran dans les deux orientations et ne tient pas compte des changements d'orientation.

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'application gère correctement les transitions rapides entre les orientations d'écran sans rencontrer de problèmes d'affichage ou de 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.

Fonctionnement

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 Dans la mesure du possible, l'application évite d'exécuter des services 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.

FN-B2 CR-10 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.

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'application cible le dernier SDK Android en définissant la valeur targetSdk.
PS-T3 SP-1 L'application est compilée avec le dernier SDK en définissant la valeur compileSdk.
PS-T4 SP-2
SP-3
Tous les SDK tiers utilisés sont à jour. Toute amélioration apportée à ces SDK, comme la stabilité, la compatibilité ou la sécurité, doit être disponible pour les utilisateurs dans les meilleurs délais.

Le développeur est responsable du codebase de l'ensemble de l'application, y compris de tout SDK tiers utilisé.
PS-T5 CR-0 L'appli n'utilise pas d'interfaces autres que les SDK.
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. 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'application ne doit demander l'autorisation d'accéder qu'à des données sensibles (telles que SMS, journal d'appels ou Zone géographique) ou de services payants (comme Téléphone ou SMS) s'ils sont directement liés au service principal les cas d'utilisation des applications. 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'application doit concevoir son expérience utilisateur de manière à expliquer clairement pourquoi certaines autorisations sont nécessaires. Si c’est il doit suivre la procédure recommandée expliquer pourquoi une fonctionnalité de votre application nécessite une autorisation.

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'application ne doit utiliser aucun identifiant matériel non réinitialisable, comme le code IMEI, à des fins d'identification.
Identité SC-ID1 CR-0 Fournir des indices pour la saisie automatique des identifiants de compte et d'autres informations sensibles (carte de crédit, adresse physique et numéro de téléphone, par exemple).
SC-ID2 CR-0 Pour faciliter la connexion au compte, intégrez One Tap pour Android.
SC-ID3 CR-0 Intégrez l'authentification biométrique pour protéger les transactions financières ou les informations sensibles, telles que les documents importants des utilisateurs.
Composants de l'appli SC-AC1 SC-5 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.

Cela inclut les activités, les services, les broadcast receivers et en particulier les fournisseurs de contenu.

Définissez toujours explicitement l'attribut android:exported afin de minimiser toute confusion concernant la valeur par défaut.

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 fournisseurs de contenu qui partagent du contenu entre vos applications 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. La plupart des applications 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.
Bibliothèques SC-U1 SP-2 L'ensemble des bibliothèques, des SDK et des dépendances sont à jour.
SC-U2 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é.
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.

À partir d'août 2021, l'utilisation du format Android App Bundle deviendra obligatoire pour toutes les nouvelles applications 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.
  • 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 Faites pivoter l'appareil en mode portrait ou paysage au moins trois fois sur chaque écran de l'application.
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().