Menu

Main Menu

  • Categories not found.

logo

Menu

  • Categories not found.
développement Android
Principal › développement Android › Comment ajouter une authentification par empreinte digitale à votre application Android

Comment ajouter une authentification par empreinte digitale à votre application Android

Android 6.0 a vu l'introduction de l'authentification par empreinte digitale, une nouvelle fonctionnalité de sécurité qui permet aux utilisateurs de confirmer leurs identifications d'une simple pression sur une touche. Bien que cette fonctionnalité de sécurité soit bien adaptée pour sécuriser le lockscreen de l'utilisateur, l'authentification par empreinte digitale peut également être utilisée pour sécuriser des fonctionnalités sensibles telles que les paiements via l'application, ou pour remplacer les écrans de mot de passe et de nom d'utilisateur par beaucoup plus pratique de connexion simple tactile.

Dans cet article, je vais vous montrer exactement comment implémenter l'authentification par empreinte digitale dans vos propres applications, en passant par le processus de création., puis affiche une gamme de toasts selon que l’authentification par empreinte digitale a réussi ou non. Nous verrons comment tester l'authentification par empreinte digitale sur des appareils virtuels Android (AVD) dépourvus de capteur tactile physique, ainsi que sur les meilleures pratiques pour vous assurer de tirer le meilleur parti de cette nouvelle fonctionnalité.

Pourquoi devrais-je me préoccuper de l'authentification par empreinte digitale?

L'ajout d'une authentification par empreinte digitale à votre projet est un processus en plusieurs étapes. Vous pouvez donc améliorer l'expérience utilisateur:

  • C'est un moyen rapide et pratique d'authentifier l'identité de l'utilisateur. Bien qu'un code secret, un modèle ou un mot de passe traditionnel soit une fonction de sécurité efficace, il est indéniable que l'utilisateur en a besoin. En touchant votre doigt, vous utilisez un code PIN, un motif ou un mot de passe, ce qui fait de l'authentification par empreinte digitale un moyen efficace de trouver un équilibre entre la sécurité de vos utilisateurs et une expérience utilisateur sans friction.
  • Vous ne pouvez pas oublier une empreinte digitale! La plupart d'entre nous ont une longue liste de mots de passe dont nous devons nous rappeler quotidiennement. De plus, si vous suivez les meilleures pratiques pour la création de mots de passe sécurisés (utilisez toujours le même mot de passe plus d'une fois; L'authentification par empreinte digitale peut fournir à vos utilisateurs toute la sécurité d'un mot de passe, sans ajouter réellement à la liste des mots de passe dont ils ont besoin pour se rappeler au quotidien.
  • Plus besoin de lutter avec les claviers mobiles. Non seulement les mots de passe longs et complexes sont difficiles à retenir, mais ils sont également difficiles à saisir sur le plus petit écran d'un appareil mobile. Même si votre application demande le mot de passe de l'utilisateur une fois par session, la navigation dans le clavier mobile inconfortable peut vous donner l'impression qu'une fois de trop. Considérez donc que de nombreux utilisateurs mobiles interagissent avec leurs applications lors de vos déplacements - et que personne ne veut vous embêter avec vous quand ils sont dans un bus de banlieue bondé! L'authentification par empreinte digitale donne aux utilisateurs un moyen de confirmer leur identité sans avoir à s'approcher du clavier mobile.
  • Pas plus de récupération de mot de passe ennuyeux ou de réinitialisation. Il n'est jamais temps d'oublier votre mot de passe, mais oublier un mot de passe pour une application mobile peut être douloureux. Lorsque vous êtes en déplacement, accédez à la procédure de récupération ou de réinitialisation du mot de passe de l'application. En ajoutant l'authentification par empreinte digitale à votre application, vous pouvez vous assurer que vos utilisateurs n'auront jamais à réinitialiser leur mot de passe.
  • Votre empreinte digitale est unique et impossible à deviner. Même si vos utilisateurs appliquent les meilleures pratiques pour créer un mot de passe sécurisé, rien ne garantit qu'ils pourront quand même deviner leur mot de passe, ni même manipuler le périphérique de l'utilisateur pour qu'il divulgue leur mot de passe via des outils tels que les logiciels espions. Bien que rien ne soit jamais sécurisé à 100%, une empreinte digitale ne peut être ni devinée ni volée de la même manière qu'un mot de passe.

Création de notre projet d'authentification par empreinte digitale

Si vous avez pesé tout ce que l'authentification par empreinte digitale a effectuée, il vous reste quelques étapes à suivre. Le moyen le plus efficace de vous familiariser avec ces étapes est de les voir en action. Nous allons donc créer un exemple d'application capable d'authentifier les empreintes digitales.

Ouvrez Android Studio et créez un nouveau projet. Vous pouvez utiliser les paramètres de votre choix, mais dans un souci de simplicité, vous pouvez définir le SDK minimal de votre projet sur 23 ou plus. Cela garantit que votre application ne dispose d'aucune authentification par empreinte digitale.

Si vous souhaitez installer votre application sur des versions d'Android guimauve, activez-la, puis désactivez ses fonctionnalités liées aux empreintes digitales, le cas échéant.

Une fois votre projet créé, nous devrons apporter quelques modifications au manifeste et créer l'interface utilisateur de l'application.

Mise à jour du manifeste

Notre application va nécessiter un accès au capteur tactile de l'appareil afin de recevoir les événements tactiles du bout des doigts. Cependant, le système d'exploitation Android fonctionne sur une large gamme de périphériques et n'inclut pas de capteur tactile.

Si l'authentification par empreinte digitale est une bonne expérience utilisateur, alors vous devriez le faire. Vous pouvez déclarer que votre application nécessite un capteur tactile en ajoutant ce qui suit à votre manifeste:

Lorsque vous marquez une fonctionnalité comme android: required = "true", le magasin Google Play souhaite uniquement autoriser les utilisateurs à installer leurs appareils sur le matériel.

Si votre application peut fonctionner sans capteur d'empreinte digitale, vous devez marquer le capteur tactile comme préféré mais non obligatoire:

Google Play souhaite autoriser les utilisateurs à télécharger leur application même si leur appareil ne dispose pas d'un capteur d'empreinte digitale. Si vous optez pour cette approche, votre application devra alors vérifier la présence d'un capteur tactile au moment de l'exécution, puis la désactiver.

Bien qu'il puisse sembler étrange de déclarer une fonctionnalité dans votre manifeste pour ne pas en avoir réellement besoin, elle déclare chaque fonctionnalité utilisée par votre application.

Certaines autorisations font des demandes matérielles implicites, par exemple, si vous ajoutez l'autorisation android.hardware.camera à votre manifeste, cela implique une caméra pour son exécution. Sauf si vous soupçonnez que votre application est en cours d'installation sur un périphérique n'incluant pas de matériel de caméra - sauf si vous indiquez explicitement que votre périphérique préfère ce matériel, mais peut fonctionner sans ce dernier. Pour vous assurer que Google Play ne vous empêche pas de télécharger votre application en fonction d'hypothèses incorrectes concernant ses exigences, essayez de prendre l'habitude de déclarer toutes les fonctionnalités utilisées par votre application, puis de les marquer comme android: required = "false" ou android: required = "true".

Le dernier changement à apporter au manifeste de votre projet consiste à demander l'autorisation d'accéder au capteur d'empreinte digitale:

Créer votre interface utilisateur

Ensuite, nous devrons construire notre interface utilisateur. Ouvrez votre fichier strings.xml et ajoutez ce qui suit:

 Authentification par empreinte digitale Placez votre doigt sur le bouton d'accueil pour vérifier votre identité. 

Google fournit une icône d'empreinte digitale standard que vous utiliserez toujours pour imprimer votre authentification d'empreinte digitale à partir de l'utilisateur. Téléchargez donc cette icône et ajoutez-la au dossier "Dessins" de votre projet.

Maintenant que nous avons toutes nos ressources, créons notre interface utilisateur:

Votre interface utilisateur devrait ressembler à ceci:

Création de votre fichier MainActivity.java

Il est maintenant temps de mettre en œuvre la partie authentification par empreintes digitales de notre application.

Dans notre fichier MainActivity.java, nous allons imprimer l'essentiel de l'authentification par empreinte digitale. Je vais donc examiner ce fichier en deux parties.

Cipher et CryptoObject dans la première moitié, nous allons vérifier que le périphérique dispose du matériel, des logiciels et des paramètres nécessaires à la prise en charge de l'authentification par empreinte digitale. utiliser pour effectuer l'authentification réelle.

Plus précisément, dans cette première partie de notre fichier MainActivity, nous allons vérifier que:

  • L'appareil fonctionne sous Android 6.0 ou supérieur. Si la version minsdkversion de votre projet est égale ou supérieure à 23, vous n'avez pas besoin d'effectuer cette vérification.
  • L'appareil dispose d'un capteur d'empreinte digitale. Si vous avez marqué android.hardware.fingerprint comme un élément requis par votre application (android: required = "true"), vous n'avez pas besoin d'effectuer cette vérification.
  • L'utilisateur a autorisé l'accès au capteur d'empreinte digitale.
  • L'utilisateur a protégé son lockscreen. Les empreintes digitales ne peuvent être verrouillées dans le lockscreen avec un code PIN, un motif ou un mot de passe. Vous devez donc vous assurer que le lockscreen est sécurisé avant de continuer.
  • L'utilisateur a enregistré au moins une empreinte digitale sur son appareil.

Si l’une des conditions ci-dessus n’est pas remplie, votre application doit désactiver en douceur toutes les fonctionnalités reposant sur l’authentification par empreinte digitale et expliquer pourquoi. Vous souhaiterez peut-être fournir à l'utilisateur une méthode alternative pour confirmer son identité, en lui donnant par exemple la possibilité de créer un mot de passe et un nom d'utilisateur.

En plus de ces tâches, je vais créer une instance de FingerprintManager. Il s’agit d’une classe que nous utilisons tout au long du processus d’authentification par empreinte digitale. C’est pourquoi il est logique de l’établir au plus tôt dans notre fichier MainActivity.

 package com.jessicathornsby.fingerprintauthentication; importer android.app.KeyguardManager; importer android.content.pm.PackageManager; importer android.hardware.fingerprint.FingerprintManager; importer android.Manifest; importer android.os.Build; importer android.os.Bundle; import android.security.keystore.KeyGenParameterSpec; import android.security.keystore.KeyPermanentlyInvalidatedException; importer android.security.keystore.KeyProperties; importer android.support.v7.app.AppCompatActivity; importer android.support.v4.app.ActivityCompat; importer android.widget.TextView; importer java.io.IOException; import java.security.InvalidAlgorithmParameterException; importer java.security.InvalidKeyException; import java.security.KeyStore; importer java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; importer java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; importer javax.crypto.Cipher; importer javax.crypto.KeyGenerator; importer javax.crypto.NoSuchPaddingException; importer javax.crypto.SecretKey; Classe publique MainActivity étend AppCompatActivity {// Déclare une variable de chaîne pour la clé que nous allons utiliser dans notre authentification par empreinte digitale private static final String KEY_NAME = "yourKey"; code de chiffrement privé; KeyStore privé KeyStore; Générateur de clé privé Générateur de clé; privé TextView textView; private FingerprintManager.CryptoObject cryptoObject; gestionnaire d'empreintes digitales privé gestionnaire d'empreintes digitales; KeyguardManager privé keyguardManager; @Override protected void onCreate (ensemble, savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // Si vous avez défini la valeur minSdkVersion de votre application sur une valeur inférieure à 23, vous aurez besoin de Marshmallow // ou d'une version ultérieure avant d'exécuter le code associé aux empreintes digitales if (Build.VERSION.SDK_INT> = Build .VERSION_CODES.M) {// Obtient une instance de KeyguardManager et FingerprintManager // keyguardManager = (KeyguardManager) getSystemService (KEYGUARD_SERVICE); fingerprintManager = (FingerprintManager) getSystemService (FINGERPRINT_SERVICE); textView = (TextView) findViewById (R.id.textview); // Vérifier que le périphérique dispose d'un capteur d'empreinte digitale // if (! FingerprintManager.isHardwareDetected ()) {// S'il existe un capteur d'empreinte digitale, vous ne pourrez pas l'utiliser. / textView.setText ("Votre appareil ne prend pas en charge l'authentification par empreinte digitale"); } // Vérifiez si l'utilisateur a accordé à votre application l'autorisation USE_FINGERPRINT // if (ActivityCompat.checkSelfPermission (this, Manifest.permission.USE_FINGERPRINT)!! = PackageManager.PERMISSION_GRANTED) {// Si votre application ne dispose pas de cette autorisation, alors afficher le texte suivant // textView.setText ("Veuillez activer l'autorisation d'empreinte digitale"); } // vérifie que l'utilisateur a enregistré au moins une empreinte digitale // if (! FingerprintManager.hasEnrolledFingerprints ()) {// Si l'utilisateur n'a pas configuré d'empreintes digitales, affiche le message suivant // textView.setText ("No Veuillez enregistrer au moins une empreinte digitale dans les paramètres de votre appareil "); } // vérifie que le lockscreen est sécurisé // if (! KeyguardManager.isKeyguardSecure ()) {// si l'utilisateur n'a pas sécurisé son lockscreen avec un mot de passe PIN ou un modèle, puis affiche le texte suivant // textView.setText ( "Veuillez activer la sécurité lockscreen dans les paramètres de votre appareil"); } else {try { 

Si toutes ces conditions sont remplies, votre application est prête à démarrer le processus d'authentification par empreinte digitale.

Dans la seconde moitié de notre fichier MainActivity, nous allons procéder comme suit:

  • Accédez au magasin de clés Android en générant une instance de magasin de clés. Le magasin de clés Android vous permet de stocker les clés cryptographiques de manière à les rendre plus difficiles à extraire de l'appareil. Le magasin de clés limite donc comment et quand chaque clé peut être utilisée. Pour créer cet effet d'authentification par empreinte digitale, il vous suffit de spécifier que l'utilisateur doit authentifier son identité avec une empreinte digitale.
  • Créez une nouvelle méthode qui sera chargée de générer la clé de cryptage de l'application.
  • Utilisez la fonction generateKey pour générer la clé de cryptage de l'application.
  • Créez une nouvelle méthode (j'utilise initCipher) que nous utiliserons pour initialiser le chiffrement.
  • Utilisez l'instance Cipher pour créer une instance CryptoObject chiffrée.
  • Attribuez l'objet CryptoObject à FingerprintManager instancié.

La seconde de notre fichier MainActivity ressemble à ceci:

 generateKey (); } catch (FingerprintException e) {e.printStackTrace (); } if (initCipher ()) {// Si le chiffrement est initialisé avec succès, créez une instance de CryptoObject // cryptoObject = new FingerprintManager.CryptoObject (cipher); // Ici, je fais référence à la classe FingerprintHandler que nous allons créer dans la section suivante. Cette classe sera // responsable du démarrage du processus d'authentification (via la méthode startAuth) et du traitement des événements du processus d'authentification // FingerprintHandler helper = new FingerprintHandler (this); helper.startAuth (fingerprintManager, cryptoObject); }}}} // Créez la méthode generateKey que nous utiliserons pour accéder au magasin de clés et à la clé // void privé. GenerateKey () lève FingerprintException {try // Obtient une référence au magasin de clés à l'aide de la console standard Android. identificateur de conteneur de magasin de clés ("AndroidKeystore") // keyStore = KeyStore.getInstance ("AndroidKeyStore"); // Génère la clé // keyGenerator = KeyGenerator.getInstance (KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore"); // Initialise pour vider le KeyStore // keyStore.load (null); // Initialize the KeyGenerator // keyGenerator.init (new // Spécifiez la ou les opérations que cette clé peut être utilisée pour // KeyGenParameterSpec.Builder (KEY_NAME, KeyProperties.PURPOSE_ENCRYPT capturant (KeyStoreException | NoSuchAlgorithmException | NoSuchAlgorithmException | NoSuchAlProviderException). exc) {exc.printStackTrace (); lance un nouveau FingerprintException (exc);}} // Crée une nouvelle méthode que nous utiliserons pour initialiser notre chiffrement // public boolean initCipher () {try {// Obtient une instance de chiffrement et // cipher = Cipher.getInstance (KeyProperties.KEY_ALGORITHM_AES + "/" + KeyProperties.BLOCK_MODE_CBC + "/" + KeyProperties.ENCRYPTION_PADDING_PKCS7);} catch (NoSuchAlgorithmException | NoSuchPaddingException e) ("Impossible d'obtenir le chiffrement", e);} try {keyStore.load (null); clé SecretKey = (SecretKey) keyStore.getKey (KEY_NAME, null); cipher.init (Cipher.ENCRYPT_MODE, clé); // Renvoie true si le chiffrement a été initialisé avec succès // return true; } catch e (e) {// Retourne false si l'initialisation du chiffrement a échoué // return false; } catch (KeyStoreException | CertificateException | UnrecoverableKeyException | IOException | NoSuchAlgorithmException | InvalidKeyException e) {lance la nouvelle RuntimeException ("Échec d'initialisation du chiffrement", e); }} FingerprintException, classe privée, étend Exception {public FingerprintException (Exception e) {super (e); }}} 

Création de la classe d'assistance d'empreinte digitale

Notre tâche finale est la classe d'assistance que nous avons référencée dans notre fichier MainActivity. Cette classe veut réussir le processus d'authentification et le traitement des divers événements de rappel.

Créez une nouvelle classe FingerprintHandler.java et ajoutez les éléments suivants:

 package com.jessicathornsby.fingerprintauthentication; importer android.content.Context; importer android.content.pm.PackageManager; importer android.hardware.fingerprint.FingerprintManager; importer android.Manifest; importer android.os.CancellationSignal; importer android.support.v4.app.ActivityCompat; importer android.widget.Toast; @TargetApi (Build.VERSION_CODES.M) La classe publique FingerprintHandler étend FingerprintManager.AuthenticationCallback {// Vous devez utiliser la méthode AnnulationSignal chaque fois que votre application passe // en arrière-plan. Si vous n'utilisez pas cette méthode, les autres applications ne pourront pas accéder au capteur tactile, y compris le lockscreen! // private CancellationSignal cancelSignal; contexte de contexte privé; public FingerprintHandler (Contexte mContext) {context = mContext; } // Implémente la méthode startAuth, chargée du démarrage du processus d'authentification par empreinte digitale // public void startAuth (gestionnaire FingerprintManager, FingerprintManager.CryptoObject cryptoObject) {cancelSignal = new CancellationSignal (); if (ActivityCompat.checkSelfPermission (contexte, Manifest.permission.USE_FINGERPRINT)!! = PackageManager.PERMISSION_GRANTED) {return; } manager.authenticate (cryptoObject, cancelSignal, 0, this, null); } @Override // onAuthenticationError est appelée lorsqu'une erreur irrécupérable s'est produite. Il fournit le code d'erreur et le message d'erreur en tant que ses paramètres // public void onAuthenticationError (int errMsgId, CharSequence errString) {// Je vais afficher les résultats de l'authentification par empreinte digitale sous la forme d'une série de toasts. // Ici, j'écris le message qui apparaîtra s'il y a une erreur // Toast.makeText (contexte, "Erreur d'authentification \ n" + errString, Toast.LENGTH_LONG) .show (); } @Override // onAuthenticationFailed est l'empreinte digitale ne correspond à aucune des empreintes digitales enregistrées sur le périphérique // public void onAuthenticationFailed () {Toast.makeText (contexte, "Authentication failed", Toast.LENGTH_LONG) .show ( ); } @Override // onAuthenticationHelp est appelée lorsqu'une erreur non fatale s'est produite. Cette méthode fournit des informations supplémentaires sur l'erreur, // afin de fournir à l'utilisateur autant de retours que possible dans mon toast // public void onAuthenticationHelp (int helpMsgId, CharSequence helpString) {Toast.makeText (context, "Authentification help \ n" + helpString, Toast.LENGTH_LONG) .show (); } @Override // onAuthenticationSucceeded sur le périphérique de l'utilisateur // public void onAuthenticationSucceeded (FingerprintManager.AuthenticationResult result) {Toast.makeText (context, "Success!", Toast. LENGTH_LONG) .show (); }} 

Tester votre projet

Lorsque vous travaillez sur une application Android, vous devez tester cette application sur une large gamme de périphériques virtuels Android (AVD), ainsi qu'au moins un smartphone ou une tablette Android physique.

En supposant que vous ayez accès à un smartphone ou une tablette physique fonctionnant sous Android 6.0 ou version ultérieure et doté d'un capteur d'empreinte digitale, le test de notre exemple de périphérique sur un périphérique Android devrait être relativement simple.

Tout d’abord, assurez-vous que votre smartphone ou votre tablette Android porte une empreinte digitale en le sécurisant avec un code PIN, un mot de passe ou un modèle, puis enregistrez au moins une empreinte digitale sur votre appareil. Généralement, vous enregistrez une empreinte digitale en ouvrant l'application "Paramètres" de votre appareil, en sélectionnant "Sécurité> Empreinte digitale", puis en suivant les instructions à l'écran.

Installez et lancez l'exemple d'application sur votre appareil, puis testez-le en plaçant votre doigt contre le capteur d'empreinte de votre appareil. L'application souhaite afficher différents toasts selon que l'authentification réussit ou non, ou qu'une erreur se soit produite. Prenez le temps de vous assurer que l'application réagit correctement à chaque événement.

L'authentification par empreinte digitale d'Android sur AVD pose un problème immédiat: un périphérique Android émulé ne dispose d'aucun matériel physique. Toutefois, les AVD étant un outil essentiel pour tester les applications Android sur divers matériels et logiciels, vous devez donc trouver un moyen de tester l'authentification par empreinte digitale sur AVD.

La solution consiste à utiliser les commandes Android Debug Bridge (ADB) pour simuler un événement tactile. Ouvrez le terminal de votre Mac (ou l'invite de commande si vous utilisez Windows), puis changez de répertoire (cd) pour qu'il pointe vers le téléchargement de votre SDK Android. plus précisément, le dossier Android / sdk / platform-tools.

Ma commande ressemble à ceci:

 cd / Utilisateurs / jessicathornsby / Bibliothèque / Android / sdk / platform-tools 

Une fois que votre terminal est orienté dans la bonne direction, créez et lancez le DAV que vous voulez utiliser, puis installez votre application sur cet AVD.

Vous devrez "enregistrer" une empreinte digitale avec cet appareil. Allez à l'écran "Paramètres> Sécurité> Empreinte digitale" de votre AVD. Lorsque l'AVD vous invite à placer votre doigt contre le capteur, un événement tactile par empreinte digitale se produit en tapant la commande suivante dans la fenêtre de votre terminal:

 ./adb -s emu doigt tactile 

Par exemple, ma commande ressemble à ceci:

 ./adb -s emulator-5554 emu finger touch 1 

Appuyez ensuite sur la touche «Entrée» de votre clavier. L’AVD devrait confirmer que vous avez bien enregistré une nouvelle empreinte digitale:

Lancez notre exemple d'application et entrez à nouveau cette commande dans votre terminal. L'AVD agira alors comme une empreinte digitale enregistrée sur le capteur d'empreintes digitales inexistant de l'appareil.

Meilleures pratiques

Si cet exemple d'application a été amené à essayer l'authentification par empreinte digitale dans vos propres applications, quelques bonnes pratiques peuvent vous aider à tirer le meilleur parti de cette fonctionnalité:

  • Considérer la compatibilité ascendante. L'authentification par empreinte digitale n'a pas trouvé son chemin dans la plate-forme Android jusqu'à la version 6.0. Lollipop ou version antérieure! Le périphérique Android utilise Lollipop ou version antérieure! Nous avons déjà exploré l'utilisation des contrôles Build.VERSION et des annotations @TargetApi pour inclure l'authentification par empreinte digitale dans votre application tout en restant compatible avec les versions précédentes d'Android. Cependant, vous pouvez également utiliser la bibliothèque de support v4, qui fournit la version de compatibilité de nombreuses classes d'empreintes digitales introduites dans Marshmallow. Un capteur d'empreinte digitale - et négligez le fait que le système d'exploitation est incapable de prendre en charge l'authentification par empreinte digitale.
  • Fournissez d'autres méthodes d'authentification. Vous ne pouvez pas utiliser votre authentification par empreinte digitale pour un certain nombre de raisons. Ils utilisent peut-être une version d'Android antérieure à Marshmallow, peut-être que leur appareil n'inclut pas de capteur d'empreinte digitale. Cependant, il se peut que certains utilisateurs ne souhaitent simplement pas utiliser l'authentification par empreinte digitale. Afin de fournir la meilleure expérience possible à tous vos utilisateurs, vous devez envisager de fournir une autre méthode d’authentification aux utilisateurs qui ne peuvent ou ne veulent pas utiliser votre authentification par empreinte digitale.
  • Indiquez clairement quand votre application "écoute" pour la saisie de l'utilisateur. Ne laissez pas l'utilisateur se demander s'il est supposé appuyer ses doigts sur le capteur maintenant ou attendre d'autres instructions. Google vous recommande de lire l'icône d'empreinte digitale standard chaque fois que vous êtes prêt à recevoir un événement tactile, mais cela dépend du contexte et de votre public cible. avec la chaîne "instructions" de notre exemple d'application.
  • Si le périphérique ne peut pas prendre en charge l'authentification au doigt, expliquez pourquoi. Il existe une liste d'exigences auxquelles un périphérique doit répondre. Si l'appareil ne remplit pas l'une de ses exigences, vous devez désactiver toutes les fonctionnalités d'empreintes digitales de l'application, mais en dénigrer des sections de votre application. Dans le meilleur des cas, vous laisserez l'utilisateur se demander ce qui ne va pas avec vous. Vous devez toujours laisser l'utilisateur savoir pourquoi il peut "déverrouiller" cette partie des fonctionnalités de votre application.
  • Fournir à l'utilisateur beaucoup de commentaires. Chaque fois que l'utilisateur touche le capteur d'empreinte digitale de son périphérique, l'authentification peut réussir, échouer ou se produire - et vous ne devez jamais quitter. Imaginez que vous appuyez du bout des doigts sur le contact de votre appareil lorsque vous y êtes invité et que rien ne se passe. Qu'est-ce qui a mal tourné? Peut-être que de la poussière sur le capteur a gêné le processus d’authentification; immédiatement sur Google Play? Peut-être n'avez-vous pas appuyé sur le capteur? Pour vous assurer que vos utilisateurs peuvent naviguer avec succès dans l'authentification par empreinte digitale de leur application, utilisez les méthodes de rappel d'authentification par empreinte digitale pour fournir à l'utilisateur toutes les informations dont il a besoin.


  • Indiquez clairement que votre application prend en charge l'authentification par empreinte digitale. L'identification d'empreinte digitale est maintenant disponible! L’application lance votre application ou l’authentification par empreinte digitale en évidence dans le vôtre. "Paramètres" de l'application.

Enveloppant

Si vous voulez essayer ce projet par vous-même, alors vous trouverez le code complet sur GitHub.

Vous pouvez utiliser cet outil de différentes manières pour améliorer l'expérience de l'utilisateur, en ajoutant un niveau de sécurité individuel à vos paiements intégrés. application, ou même en supprimant la nécessité de leur mot de passe.

Si vous envisagez d'utiliser l'authentification par empreinte digitale dans vos projets, faites-le nous savoir dans les commentaires!

Recommandé

  • Le meilleur d'Android: comment tester la vie de la batterie
    nouvelles

    Le meilleur d'Android: comment tester la vie de la batterie

  • Les meilleurs chargeurs de voiture sur lesquels vous pouvez mettre la main
    le meilleur

    Les meilleurs chargeurs de voiture sur lesquels vous pouvez mettre la main

  • 5 applications Android à ne pas manquer cette semaine!  - Applications Android hebdomadaire
    applications et jeux

    5 applications Android à ne pas manquer cette semaine! - Applications Android hebdomadaire

  • Nuance Voice Ads vous permet de converser avec des publicités pour mobile
    nouvelles

    Nuance Voice Ads vous permet de converser avec des publicités pour mobile

  • Room 77 App rend la réservation des chambres d'hôtel un jeu d'enfant
    applications et jeux

    Room 77 App rend la réservation des chambres d'hôtel un jeu d'enfant

  • Le Sony Xperia Tablet S reçoit un léger retard au Canada pour être expédié le 10 septembre
    Canada

    Le Sony Xperia Tablet S reçoit un léger retard au Canada pour être expédié le 10 septembre

Articles Populaires 2021

  • LG veut utiliser des panneaux OLED pour ses produits phares à partir de V30 cette année
    nouvelles

    LG veut utiliser des panneaux OLED pour ses produits phares à partir de V30 cette année

  • Google se penche sur l'écran Pixel 2 XL, ajoutant qu'il pourrait ajouter "plus d'options de couleur"
    nouvelles

    Google se penche sur l'écran Pixel 2 XL, ajoutant qu'il pourrait ajouter "plus d'options de couleur"

  • HTC One X: Mod permettant de désactiver la barre de menus 3 points de l'application ou de le remapper aux applications récentes
    comment

    HTC One X: Mod permettant de désactiver la barre de menus 3 points de l'application ou de le remapper aux applications récentes

  • Deal: La version payante de Trivia Crack va actuellement pour 0,10 $ (normalement 3 $)

  • Offre: procurez-vous un chargeur mural USB 10 ports pour seulement 19,99 $ (56% de rabais)

  • DeepMind AI de Google veut améliorer l'assistant virtuel de votre smartphone

Des Articles Intéressants 2021

  • Le smartphone Freedom 251 à 4 dollars reçoit 50 millions d’enregistrements et 2,5 millions d’unités à expédier

  • Motorola publie une version complète du journal des mises à jour 6.12.173 pour Droid Razr et Droid Razr Maxx

  • Podcast 037: HTC One A9 et la question de la dérivation

  • Pebble a vendu 275 000 unités, avec 1 million d'applications téléchargées jusqu'à présent

  • OnePlus 5 / 5T mis à jour pour Android 8.1 Oreo avec les dernières versions d'OxygenOS

Choix De L'Éditeur

nouvelles

Nouvelle option de couleur argentée sombre pour le Sony Xperia S

  • Le design n'est pas ce que vous croyez

  • Capteur d'empreinte digitale Samsung en affichage différé jusqu'au Galaxy S10? (Mise à jour)

  • Nexus 6 aurait été repéré à l'état sauvage

logo

  • Project Fi prend désormais en charge les tablettes et autres périphériques contenant uniquement des données.

    Project Fi prend désormais en charge les tablettes et autres périphériques contenant uniquement des données.

    nouvelles
  • Le modèle OnePlus 6 de 256 Go est maintenant en rupture de stock aux États-Unis, au Royaume-Uni et au Canada.

    Le modèle OnePlus 6 de 256 Go est maintenant en rupture de stock aux États-Unis, au Royaume-Uni et au Canada.

    nouvelles
  • Qu'est-ce qui est nécessaire?

    Qu'est-ce qui est nécessaire?

    nouvelles
  • Ne craignons pas que Google Glass soit banni

    Ne craignons pas que Google Glass soit banni

    April 22,2021
  • Qu'avez-vous ramassé le Black Friday?  [Sondage de la semaine]

    Qu'avez-vous ramassé le Black Friday? [Sondage de la semaine]

    April 22,2021
  • Sony présente le Xperia AX à destination du Japon, dont la date de sortie est inconnue à ce jour

    Sony présente le Xperia AX à destination du Japon, dont la date de sortie est inconnue à ce jour

    April 22,2021
développement Android © Copyright 2021. All rights reserved.