Android
Users
Implementazione Registrazione Android con Verifica Email
19 min
come implementare la registrazione degli utenti con verifica email introduzione in questa guida, imparerai come impostare un processo di verifica email per la registrazione degli utenti (iscriviti) creerai un'app che include la registrazione degli utenti con verifica email utilizzando https //www back4app com/product/parse server tramite back4app questo tutorial utilizza un'app di base creata in android studio 4 1 1 con buildtoolsversion=30 0 3 buildtoolsversion=30 0 3 , compile sdk version = 30 compile sdk version = 30 e targetsdkversion 30 targetsdkversion 30 in qualsiasi momento, puoi accedere al progetto completo tramite i nostri repository github https //github com/templates back4app/android email verification kt https //github com/templates back4app/android email verification java obiettivo impostare un processo di verifica dell'email dell'utente su back4app per una funzionalità di registrazione utente prerequisiti per completare questo tutorial, hai bisogno di https //developer android com/studio/index html un'app android https //www back4app com/docs/android/parse android sdk un dispositivo (o https //developer android com/studio/run/managing avds html ) che esegue android 4 1 (jelly bean) o versioni successive 1 importa la libreria in questo passaggio importeremo le librerie che utilizzeremo nel nostro progetto aggiungi le seguenti classi parse alle nostre attività 1 import com parse parse; 2 import com parse parseexception; 3 import com parse parseuser; 2\ devi aggiungere java 1 8 java 1 8 al nostro progetto tramite build gradle(module\ app) build gradle(module\ app) perché utilizzerai frequentemente le funzioni lambda in questo progetto 1 compileoptions { 2 sourcecompatibility javaversion version 1 8 3 targetcompatibility javaversion version 1 8 4 } 2 abilita la verifica dell'email ora abilitiamo la verifica dell'email nel dashboard di back4app la pagina di verifica dell'email ha due proprietà verifica email utente e impedisci il login se l'email non è verificata se abiliti solo l'opzione verifica email utente, l'utente riceverà l'email di verifica ma potrà accedere e utilizzare l'applicazione normalmente se abiliti anche l'opzione “impedisci il login se l'email non è verificata”, l'utente potrà accedere solo dopo aver concluso il processo di verifica dell'email 1\ vai alla tua app su https //www back4app com/ e clicca su impostazioni del server impostazioni del server 2\ trova la scheda “email di verifica” e clicca su impostazioni impostazioni 3\ clicca su verifica email utente verifica email utente e impedisci il login se l'email non è verificata impedisci il login se l'email non è verificata 4\ facoltativo compila i campi vuoti e modifica quelli già compilati in base alle tue preferenze 5\ clicca sul salva salva pulsante 3 iscriviti i due attributi fondamentali della parseuser parseuser classe sono nome utente e password c'è un terzo attributo speciale che dovresti anche impostare, ovvero l'email per implementare la registrazione con verifica email, utilizzerai lo stesso metodo che hai usato per implementare la registrazione dell'utente ma questa volta, invece di reindirizzare l'utente a una schermata di accesso, chiederai all'utente di verificare la propria email per accedere dopo aver completato il processo di registrazione, l'utente sarà salvato nel database i dati dell'utente saranno disponibili su parse dashboard parse dashboard con l'attributo mailverified impostato su false il processo di verifica dell'email consiste nel verificare l'email dell'utente e impostare questo attributo su true in modo che l'utente possa accedere completamente a tutte le risorse della tua app la tua schermata di registrazione apparirà così crea un signupactivity signupactivity seguendo questi passaggi 1\ importa nel tuo signupactivity signupactivity , oltre alle dipendenze importate in passo 1 1 import com parse parseexception ; 2 import com parse signupcallback ; 2\ implementa la registrazione dell'utente utilizzando il seguente codice 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 } nel progetto di esempio, questo codice è disponibile all'interno di un pulsante di registrazione pulsante di registrazione callback inoltre, nome utente, password e email vengono acquisiti utilizzando edit texts puoi aggiungere il tuo codice per verificare se l'indirizzo email è valido prima di impostarlo nel front end infine, puoi aggiungere il tuo codice per fornire feedback dopo aver completato la registrazione, vedremo il seguente messaggio… 3\ è interessante aggiungere un metodo aggiuntivo per visualizzare i dialoghi di avviso e rendere il processo più professionale ecco come puoi farlo 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 } dopo la registrazione riceveremo un'email come questa dopo aver verificato l'email, la proprietà sarà impostata su true dopo aver verificato l'email, la proprietà sarà impostata su true 4 accedi per implementare l'accesso con verifica email, utilizzerai lo stesso metodo che hai usato per implementare la https //www back4app com/docs/android/login android tutorial ma questa volta, parse controllerà il emailverified booleano prima di concedere ulteriore accesso all'utente nota l'utente effettivamente accede quando viene chiamata la funzione parseuser logininbackground() ma non può accedere completamente all'app fino a quando la verifica dell'email non è completata, a causa di un oggetto sessione che viene creato nel database quindi è importante utilizzare parseuser logout() ogni volta che l'utente che non ha verificato la sua email cerca di accedere all'applicazione senza successo, per non lasciare sessioni sessioni aperte se hai abilitato l'opzione ‘impedisci l'accesso se l'email non è verificata’ nel passo 2, riceverai il seguente errore se provi ad accedere senza verificare la tua email per far funzionare loginactivity loginactivity segui questi passaggi 1\ importa nel tuo loginactivity loginactivity , oltre alle dipendenze importate nel passo 1 1 import com parse logincallback ; 2 import com parse parseexception ; 2\ per implementare la funzione di accesso dell'utente, utilizza semplicemente il seguente codice 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 } nel progetto di esempio, questo codice è disponibile in un log in log in callback del pulsante inoltre, nome utente e password vengono acquisiti utilizzando edit texts il metodo alertdisplayer alertdisplayer è lo stesso che hai aggiunto in signupactivity signupactivity , non dimenticare di cambiare i suoi argomenti intent argomenti intent però 5 disconnettersi per implementare la disconnessione dell'utente, utilizza semplicemente il codice qui sotto, in the 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 } nel progetto di esempio, questo codice è disponibile all'interno di un disconnettiti disconnettiti callback del pulsante il metodo alertdisplayer alertdisplayer è lo stesso che hai aggiunto in loginactivity loginactivity e signupactivity signupactivity , non dimenticare di cambiare i suoi argomenti di intent argomenti di intent 6 testa la tua app esegui la tua app, crea un paio di utenti e prova a effettuare il login dopo la registrazione senza 1\ esegui la tua app, crea un paio di utenti e prova a effettuare il login dopo la registrazione senza verificare l'email per vedere se viene visualizzato l'errore 2\ effettua il login su https //www back4app com/ 3\ trova la tua app e clicca su dashboard dashboard > core core > browser browser > user user per vedere gli utenti che hai creato! è fatto! a questo punto, puoi effettuare il login, registrarti o disconnetterti dalla tua app utilizzando la verifica dell'email con le funzionalità principali di parse server tramite back4app!