Android
Users
Implémentation de l'enregistrement Android avec vérification
19 min
comment mettre en œuvre l'enregistrement des utilisateurs avec vérification par e mail introduction dans ce guide, vous apprendrez à mettre en place un processus de vérification par e mail pour une fonctionnalité d'enregistrement des utilisateurs (inscription) vous créerez une application qui inclut l'enregistrement des utilisateurs avec vérification par e mail en utilisant les fonctionnalités principales de parse server via back4app ce tutoriel utilise une application de base créée dans android studio 4 1 1 avec buildtoolsversion=30 0 3 buildtoolsversion=30 0 3 , compile sdk version = 30 compile sdk version = 30 et targetsdkversion 30 targetsdkversion 30 à tout moment, vous pouvez accéder au projet complet via nos dépôts github dépôt d'exemple kotlin dépôt d'exemple java objectif configurer un processus de vérification par e mail sur back4app lors de l'inscription d'un utilisateur prérequis pour compléter ce tutoriel, vous avez besoin de android studio une application android créée et connectée à back4app un appareil (ou appareil virtuel ) fonctionnant sous android 4 1 (jelly bean) ou version ultérieure 1 importer la bibliothèque dans cette étape, nous allons importer les bibliothèques que nous allons utiliser dans notre projet ajoutez les classes parse suivantes à nos activités 2\ vous devez ajouter java 1 8 java 1 8 à notre projet via build gradle(module\ app) build gradle(module\ app) car vous utiliserez fréquemment des fonctions lambda dans ce projet 1 compileoptions { 2 sourcecompatibility javaversion version 1 8 3 targetcompatibility javaversion version 1 8 4 } 2 activer la vérification par e mail activons maintenant la vérification par e mail sur le tableau de bord back4app la page de vérification par e mail a deux propriétés vérifier les e mails des utilisateurs et empêcher la connexion si l'e mail n'est pas vérifié si vous activez uniquement l'option vérifier les e mails des utilisateurs, l'utilisateur recevra l'e mail de vérification mais pourra se connecter et utiliser l'application normalement si vous activez également l'option “empêcher la connexion si l'e mail n'est pas vérifié”, l'utilisateur ne pourra se connecter qu'après avoir terminé le processus de vérification par e mail 1\ allez à votre application sur site web back4app et cliquez sur paramètres du serveur paramètres du serveur 2\ trouvez la carte “e mails de vérification” et cliquez sur paramètres paramètres 3\ cliquez sur vérifier l'e mail de l'utilisateur vérifier l'e mail de l'utilisateur et empêcher la connexion si l'e mail n'est pas vérifié empêcher la connexion si l'e mail n'est pas vérifié 4\ optionnel remplissez les champs vides et modifiez ceux qui ont déjà été remplis selon vos préférences 5\ cliquez sur le enregistrer enregistrer bouton 3 inscription les deux attributs fondamentaux de parseuser parseuser sont le nom d'utilisateur et le mot de passe il y a un troisième attribut spécial que vous devez également définir, c'est à dire l'email pour mettre en œuvre l'inscription avec vérification par email, vous utiliserez la même méthode que celle que vous avez utilisée pour mettre en œuvre l'enregistrement de l'utilisateur mais cette fois, au lieu de rediriger l'utilisateur vers un écran connecté, vous demanderez à l'utilisateur de vérifier son email pour se connecter après avoir terminé le processus d'inscription, l'utilisateur sera enregistré dans la base de données les données de l'utilisateur seront disponibles sur parse dashboard parse dashboard avec l'attribut boolean mailverified défini sur false le processus de vérification par email consiste à vérifier l'email de l'utilisateur et à définir cet attribut sur true afin que l'utilisateur puisse accéder entièrement à toutes les ressources de votre application votre écran d'inscription ressemblera à ceci créez un signupactivity signupactivity en suivant ces étapes 1\ importez dans votre signupactivity signupactivity , en plus des dépendances importées dans étape 1 2\ implémentez l'enregistrement de l'utilisateur en utilisant le code suivant 1 private void signup(string username, string password, string email) { 2 progressdialog show(); 3 parseuser user = new parseuser(); 4 user setusername(username); 5 user setpassword(password); 6 user setemail(email); 7 user signupinbackground(e > { 8 progressdialog dismiss(); 9 if (e == null) { 10 parseuser logout(); 11 showalert("account created successfully!", "please verify your email before login", false); 12 } else { 13 parseuser logout(); 14 showalert("error account creation failed", "account could not be created" + " " + e getmessage(), true); 15 } 16 }); 17 }1 private fun signup(username string, password string, email string) { 2 progressdialog? show() 3 val user = parseuser() 4 user username = username 5 user setpassword(password) 6 user email = email 7 user signupinbackground(signupcallback { 8 progressdialog? dismiss() 9 if (it == null) { 10 parseuser logout(); 11 showalert("account created successfully!","please verify your email before login", false) 12 } else { 13 parseuser logout(); 14 showalert("error account creation failed","account could not be created" + " " + it message,true) 15 } 16 }) 17 } dans le projet exemple, ce code est disponible à l'intérieur d'un bouton d'inscription bouton d'inscription callback de plus, le nom d'utilisateur, le mot de passe et l'email sont récupérés à l'aide de champs de texte vous pouvez ajouter votre propre code pour vérifier si l'adresse email est valide avant de la définir dans le front end enfin, vous pouvez ajouter votre propre code pour fournir des retours après avoir terminé l'inscription, nous verrons le message suivant… 3\ il est intéressant d'ajouter une méthode supplémentaire pour afficher des alert dialogs et rendre le processus plus professionnel voici comment vous pouvez le faire 1 private void showalert(string title, string message, boolean error) { 2 alertdialog builder builder = new alertdialog builder(signupactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", (dialog, which) > { 6 dialog cancel(); 7 // don't forget to change the line below with the names of your activities 8 if (!error) { 9 intent intent = new intent(signupactivity this, loginactivity class); 10 intent addflags(intent flag activity clear task | intent flag activity new task); 11 startactivity(intent); 12 } 13 }); 14 alertdialog ok = builder create(); 15 ok show(); 16 }1 private fun showalert(title string, message string, error boolean) { 2 val builder = alertdialog builder(this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok") { dialog, which > 6 dialog cancel() 7 // don't forget to change the line below with the names of your activities 8 if (!error) { 9 val intent = intent(this\@signupactivity, loginactivity class java) 10 intent addflags(intent flag activity clear task or intent flag activity new task) 11 startactivity(intent) 12 } 13 } 14 val ok = builder create() 15 ok show() 16 } après l'inscription, nous recevrons un e mail comme celui ci après avoir vérifié l'e mail, la propriété sera définie sur true après avoir vérifié l'e mail, la propriété sera définie sur true 4 se connecter pour mettre en œuvre la connexion avec vérification par e mail, vous utiliserez la même méthode que celle que vous avez utilisée pour mettre en œuvre l' inscription des utilisateurs mais cette fois, parse vérifiera le emailverified booléen avant d'accorder un accès supplémentaire à l'utilisateur remarque l'utilisateur se connecte réellement lorsque la fonction parseuser logininbackground() est appelée mais il ne peut pas accéder entièrement à l'application tant que la vérification par e mail n'est pas effectuée, en raison d'un objet session qui est créé dans la base de données il est donc important d'utiliser parseuser logout() chaque fois qu'un utilisateur qui n'a pas vérifié son e mail essaie d'accéder à l'application sans succès, afin de ne pas laisser sessions sessions ouvertes si vous avez activé l'option ‘empêcher la connexion si l'e mail n'est pas vérifié’ à l'étape 2, vous obtiendrez l'erreur suivante si vous essayez de vous connecter sans vérifier votre e mail pour faire fonctionner loginactivity loginactivity suivez ces étapes 1\ importez dans votre loginactivity loginactivity , en plus des dépendances importées à l'étape 1 2\ pour implémenter la fonction de connexion utilisateur, utilisez simplement le code suivant 1 private void login(string username, string password) { 2 progressdialog show(); 3 parseuser logininbackground(username, password, (parseuser, e) > { 4 progressdialog dismiss(); 5 if (parseuser != null) { 6 showalert("login successful", "welcome, " + username + "!", false); 7 } else { 8 parseuser logout(); 9 showalert("login fail", e getmessage() + " please try again", true); 10 } 11 }); 12 }1 private fun login(username string, password string) { 2 progressdialog? show() 3 parseuser logininbackground(username,password) { parseuser parseuser?, e parseexception? > 4 progressdialog? dismiss() 5 if (parseuser != null) { 6 showalert("login successful", "welcome, $username!", false) 7 } else { 8 parseuser logout() 9 showalert("login fail", e? message + " please try again", true) 10 } 11 } 12 } dans le projet exemple, ce code est placé dans un bouton de connexion bouton de connexion callback de plus, le nom d'utilisateur et le mot de passe sont récupérés à l'aide de champs de texte la méthode alertdisplayer alertdisplayer est la même que celle que vous avez ajoutée dans le signupactivity signupactivity , n'oubliez pas de changer ses arguments d'intent arguments d'intent cependant 5 se déconnecter pour implémenter la déconnexion de l'utilisateur, utilisez simplement le code ci dessous, dans le logoutactivity logoutactivity 1 progressdialog show(); 2 parseuser logoutinbackground(e > { 3 progressdialog dismiss(); 4 if (e == null) 5 showalert("so, you're going ", "ok bye bye then"); 6 });1 progressdialog!! show() 2 parseuser logoutinbackground { e parseexception? > 3 progressdialog!! dismiss() 4 if (e == null) 5 showalert("so, you're going ", "ok bye bye then") 6 } dans le projet d'exemple, ce code est disponible dans un bouton de déconnexion bouton de déconnexion callback la méthode alertdisplayer alertdisplayer est la même que celle que vous avez ajoutée dans le loginactivity loginactivity et signupactivity signupactivity , n'oubliez pas de changer ses arguments d'intent arguments d'intent 6 testez votre application exécutez votre application, créez quelques utilisateurs et essayez de vous connecter après vous être inscrit sans 1\ exécutez votre application, créez quelques utilisateurs et essayez de vous connecter après vous être inscrit sans vérifier l'email pour voir si l'erreur est affichée 2\ connectez vous à back4app website https //www back4app com/ 3\ trouvez votre application et cliquez sur tableau de bord tableau de bord > noyau noyau > navigateur navigateur > utilisateur utilisateur pour voir les utilisateurs que vous avez créés ! c'est fait ! à ce stade, vous pouvez vous connecter, vous inscrire ou vous déconnecter de votre application en utilisant la vérification par email avec les fonctionnalités de base de parse server via back4app !