La connexion est la première étape qu'un utilisateur doit franchir lorsqu'il démarre avec une application nécessitant un compte. Cela prend généralement plusieurs secondes si l'utilisateur se souvient de ses informations d'identification et est capable de les saisir immédiatement. À la place, d'autres utilisateurs devront peut-être basculer vers leur service de gestionnaire de mots de passe préféré (trousseau iCloud, 1Password, LastPass, etc.) pour copier leur nom d'utilisateur et leur mot de passe. Inutile de dire que cette interaction ralentit les utilisateurs et que certains d’entre eux vont tout simplement quitter le processus..
Il y a eu quelques tentatives pour améliorer cette expérience. 1Password, par exemple, offre une extension intéressante que les développeurs d'applications peuvent exploiter. Une autre solution déjà incluse dans iOS depuis WWDC 2014 est Safari Shared Credentials..
Dans iOS 11, Apple a toutefois introduit un moyen encore plus transparent de rationaliser le processus de connexion: la nouvelle API Password AutoFill. Comparé aux solutions précédentes, il est plus facile à utiliser pour les utilisateurs et plus rapide aux développeurs à mettre en œuvre..
Dans cet article, vous apprendrez comment accélérer le processus de connexion et améliorer la rétention des utilisateurs avec Password AutoFill, une nouvelle API introduite dans iOS 11..
Le remplissage automatique du mot de passe permet aux utilisateurs de saisir leurs identifiants de connexion directement dans votre application en interagissant avec la barre QuickType affichée au-dessus du clavier. L'amélioration du flux de connexion augmentera votre rétention d'utilisateur ainsi que la réputation de votre application. Après ce tutoriel, vous pourrez réduire la durée du flux de connexion à quelques secondes seulement..
Il existe deux étapes pour implémenter le remplissage automatique du mot de passe dans votre application:
La première étape consiste à faire apparaître la barre QuickType avec le bouton clé. Après cette étape, les utilisateurs seront en mesure de le taper et de sélectionner manuellement le bon identifiant à partir du contrôleur de vue présenté. La seule propriété requise pour faire apparaître la barre QuickType consiste à définir textContent
propriété dans votre UITextField
ou UITextView
objet. Si vous avez un contrôle personnalisé conforme à
, le même code s'appliquera.
Vous devez ajouter cette propriété à vos champs email / nom d'utilisateur et mot de passe. Une implémentation commune serait la suivante:
usernameTextField.textContentType = .username passwordTextField.textContentType = .password
iOS affiche la barre QuickType sur tous les périphériques exécutant iOS 11 lorsqu'au moins un mot de passe est enregistré dans le trousseau. Si vous testez sur le simulateur et que la barre QuickType n'apparaît pas, c'est probablement parce que votre trousseau est vide..
Lorsque l'utilisateur appuie sur l'icône de la clé et s'authentifie via Touch ID, une liste de tous les mots de passe enregistrés s'affiche. L'utilisateur peut rechercher ou faire défiler, et lorsque les bonnes informations d'identification sont trouvées, avec un seul robinet, les champs de connexion seront remplis.
Comme vous pouvez le constater, la partie la plus lente de ce processus consiste à trouver le bon identifiant dans le trousseau. Dans la section suivante, nous verrons comment supprimer cette étape et améliorer encore plus l'expérience..
Vous pouvez également indiquer à iOS le site Web auquel votre application est associée. Si le trousseau contient des informations d'identification enregistrées à partir de Safari sur iOS ou macOS, ces informations d'identification seront suggérées, ce qui vous évitera d'avoir à les chercher manuellement dans le trousseau..
Si vous utilisez déjà des liens universels, votre application doit afficher les informations d'identification de votre site Web dans la barre QuickType. iOS sait quel site Web est associé à votre application. Il est donc prêt à suggérer des informations d'identification..
Un autre moyen de lier étroitement votre application et votre site Web, sans avoir besoin de liens universels, est un service de domaine associé aux informations d'identification Web..
Basculez vers les paramètres de votre projet Xcode, allez à la Les capacités onglet, et allumer Domaines Associés. Ajoutez l'URL de votre site ici. Disons que le nom de domaine de votre site Web est amazingwebsite.com: le nom de domaine listé devrait être webcredentials: amazingwebsite.com.
Voilà pour la configuration dans le projet Xcode. iOS connaît maintenant le site Web associé à votre application. La dernière étape consiste à télécharger un fichier sur votre serveur afin qu'iOS puisse vérifier que vous possédez le site Web que vous tentez d'associer à l'application. (Cela empêche les applications malveillantes de voler les informations d'identification d'autres sites Web.)
Créez un nouveau fichier texte (en dehors de votre projet Xcode si vous préférez) nommé association apple-app-site. Il s’agit d’un nom standard que iOS recherche sur votre serveur à l’aide d’une connexion sécurisée (SSL doit être configuré sur votre serveur). Le contenu du fichier est également assez standard. Il suffit de copier et coller le code suivant.
"webcredentials": "apps": ["1EMDW8DVTP.com.patrickbalestra.AutoFill"]
Vous devriez changer la chaîne dans le applications
array doit être votre identifiant d’équipe (qui se trouve dans le portail des développeurs sous la section des membres), suivi d’un point et de l’identifiant de bundle de l’application. Créez un dossier nommé .bien connu
dans le répertoire racine de votre serveur et téléchargez le fichier dessus.
Pour vous assurer que tout s'est passé comme prévu, vérifiez dans un navigateur Web si le fichier existe à l'adresse spécifiée. Voici mon adresse par exemple: https://patrickbalestra.com/.well-known/apple-app-site-association.
Si vous voyez le fichier JSON correctement, comme dans l'image suivante, vous êtes tous ensemble..
Lancez l'application et notez que la barre QuickType suggère les informations d'identification de votre site Web afin que vous puissiez vous connecter en un seul clic..
Si vous souhaitez en savoir plus sur le remplissage automatique du mot de passe, rendez-vous à la session 206 du WWDC 2017.
Comme nous venons de le voir, la mise en œuvre de Password AutoFill est très simple. Vous devriez envisager de prendre quelques minutes pour l'implémenter pour le confort de vos utilisateurs et de votre entreprise. Cela accélérera le processus de connexion et améliorera la rétention de votre application..
Restez à l'affût des nouveaux tutoriels sur les nouvelles API iOS 11 et, dans l'intervalle, consultez certains de nos autres articles sur le développement d'applications iOS..