Si la connexion One Tap répond à vos besoins, envisagez de l'utiliser à la place. One Tap a une expérience utilisateur mise à jour et d'autres améliorations.
This page was translated by the Cloud Translation API.
Switch to English

Flux d'intégration Android

Pour intégrer Smart Lock for Passwords dans votre application Android, vous devez ajouter des appels à l' API Credentials au flux de démarrage et de connexion de votre application. Le diagramme suivant montre le flux d'une application Android typique qui utilise Smart Lock pour les mots de passe.

Bien qu'il existe de nombreuses façons d'intégrer avec succès Smart Lock for Passwords et que les spécificités d'une intégration dépendent de la structure et de l'expérience utilisateur de l'application, le flux suivant est recommandé pour la plupart des applications. Les applications qui utilisent ce flux présentent les avantages de l'expérience utilisateur suivants:

  • Les utilisateurs existants de votre service qui disposent d'un seul identifiant enregistré sont immédiatement connectés et accèdent directement à la vue de connexion lorsqu'ils ouvrent l'application.
  • Les utilisateurs qui ont plusieurs informations d'identification enregistrées ou qui ont désactivé la connexion automatique doivent répondre à une seule boîte de dialogue avant d'accéder à la vue de connexion de l'application.
  • Les utilisateurs qui n'ont pas d'informations d'identification enregistrées ou qui ne se sont pas encore inscrits peuvent choisir leur nom et leur adresse e-mail en un seul clic et être intelligemment envoyés vers la vue de connexion ou d'inscription, avec ces informations pré-remplies.
  • Lorsque les utilisateurs se déconnectent, l'application garantit qu'ils ne se reconnectent pas automatiquement.

Schéma du flux de connexion Smart Lock

Récupérer les identifiants

  1. Lorsque l'application démarre, si aucun utilisateur n'est déjà connecté, appelez CredentialsClient.request() .
  2. Si la Task réussit, obtenez les informations d'identification de l'utilisateur avec getResult().getCredential() et utilisez-les pour vous connecter.
  3. Si la Task échoue et que l'exception est une instance de ResolvableApiException et que getStatusCode() retourne RESOLUTION_REQUIRED , l'entrée de l'utilisateur est requise pour sélectionner une information d'identification. Appelez startResolutionForResult() pour inviter l'utilisateur à sélectionner un compte enregistré, puis appelez getParcelableExtra(Credential.EXTRA_KEY) pour obtenir les informations d'identification de l'utilisateur et les utiliser pour se connecter.

Enregistrer les identifiants

  1. Si la Task échoue avec une ApiException et que getStatusCode() renvoie SIGN_IN_REQUIRED , l'utilisateur n'a pas d'informations d'identification enregistrées et doit se connecter ou s'inscrire manuellement à l'aide de votre SIGN_IN_REQUIRED connexion ou d'inscription actuel. Une fois que l'utilisateur a terminé la connexion, vous pouvez lui donner la possibilité d'enregistrer ses informations d'identification pour une récupération ultérieure (étape 5).

    Vous pouvez aider l'utilisateur à se connecter ou à s'inscrire plus rapidement et plus facilement en récupérant des conseils de connexion, tels que l'adresse e-mail de l'utilisateur. L'utilisateur peut sélectionner l'indice et ne pas taper ses informations d'identification. Si votre application nécessite que les utilisateurs se connectent, vous pouvez choisir de récupérer des indices immédiatement après l'échec de la demande d'informations d'identification initiale (sinon, vous pouvez attendre que l'utilisateur démarre le processus de connexion ou d'inscription).

    1. Appelez CredentialsClient.getHintPickerIntent() et démarrez l'intention d'inviter l'utilisateur à sélectionner un compte, puis appelez getParcelableExtra(Credential.EXTRA_KEY) pour obtenir le conseil de connexion.
    2. Si l'ID utilisateur de l'indice correspond à un utilisateur existant, pré-remplissez le formulaire de connexion avec celui-ci et laissez l'utilisateur entrer le mot de passe pour se connecter.
    3. Si l'ID utilisateur de l'indice ne correspond pas à un utilisateur existant, pré-remplissez le formulaire d'inscription avec l'ID et le nom de l'utilisateur, et laissez l'utilisateur créer un nouveau compte.
  2. Une fois que l'utilisateur s'est connecté avec succès ou a créé un compte, enregistrez l'ID utilisateur et le mot de passe avec CredentialsClient.save() .

    Si l'utilisateur s'est connecté avec un fournisseur d'identité fédéré tel que Google Sign-In, créez l'objet Credential avec l'adresse e-mail de l'utilisateur comme ID et spécifiez le fournisseur d'identité avec setAccountType .

Déconnexion

  1. Lorsque l'utilisateur se déconnecte, appelez CredentialsClient.disableAutoSignIn() pour empêcher l'utilisateur d'être immédiatement reconnecté. La désactivation de la connexion automatique permet également aux utilisateurs de basculer facilement entre les comptes, par exemple, entre les comptes professionnels et personnels, ou entre les comptes sur les appareils partagés, sans avoir à saisir à nouveau leurs informations de connexion.

Prêt à intégrer Smart Lock for Passwords dans votre application? Lancez-vous .