Android
Users
Implementar Registro Android com Verificação de E-mail - Parse
76 min
como implementar o registro de usuários com verificação de e mail introdução neste guia, você aprenderá como configurar um processo de verificação de e mail para uma funcionalidade de registro de usuário (inscrição) você criará um aplicativo que inclui registro de usuário com verificação de e mail usando recursos principais do parse server através do back4app este tutorial usa um aplicativo básico criado no android studio 4 1 1 com buildtoolsversion=30 0 3 buildtoolsversion=30 0 3 , compile sdk version = 30 compile sdk version = 30 e targetsdkversion 30 targetsdkversion 30 a qualquer momento, você pode acessar o projeto completo através de nossos repositórios no github repositório de exemplo em kotlin repositório de exemplo em java objetivo configurar um processo de verificação de e mail de usuário no back4app em um recurso de cadastro de usuário pré requisitos para completar este tutorial, você precisa android studio um aplicativo android criado e conectado ao back4app um dispositivo (ou dispositivo virtual ) rodando android 4 1 (jelly bean) ou mais recente 1 importar biblioteca nesta etapa, vamos importar as bibliotecas que vamos usar em nosso projeto adicione as seguintes classes parse às nossas atividades 2\ você precisa adicionar java 1 8 java 1 8 ao nosso projeto via build gradle(module\ app) build gradle(module\ app) porque você usará funções lambda com frequência neste projeto 1 compileoptions { 2 sourcecompatibility javaversion version 1 8 3 targetcompatibility javaversion version 1 8 4 } 2 habilitar verificação de email agora vamos habilitar a verificação de email no painel do back4app a página de verificação de email tem duas propriedades verificar emails de usuários e impedir login se o email não estiver verificado se você habilitar apenas a opção verificar emails de usuários, o usuário receberá o email de verificação, mas poderá fazer login e usar o aplicativo normalmente se você também habilitar a opção “impedir login se o email não estiver verificado”, o usuário só poderá fazer login após concluir o processo de verificação de email 1\ vá para o seu app em site do back4app e clique em configurações do servidor configurações do servidor 2\ encontre o cartão “e mails de verificação” e clique em configurações configurações 3\ clique em verificar e mail do usuário verificar e mail do usuário e impedir login se o e mail não estiver verificado impedir login se o e mail não estiver verificado 4\ opcional preencha os campos vazios e modifique os que já foram preenchidos de acordo com suas preferências 5\ clique no botão salvar salvar 3 inscrever se os dois atributos fundamentais da parseuser parseuser classe são nome de usuário e senha há um terceiro atributo especial que você também deve definir, ou seja, o email para implementar o cadastro com verificação de email, você usará o mesmo método que usou para implementar o registro do usuário mas desta vez, em vez de redirecionar o usuário para uma tela logada, você pedirá ao usuário que verifique seu email para fazer login após concluir o processo de cadastro, o usuário será salvo no banco de dados os dados do usuário estarão disponíveis no parse dashboard parse dashboard com o atributo mailverified definido como falso o processo de verificação de email consiste em verificar o email do usuário e definir este atributo como verdadeiro para que o usuário possa acessar completamente todos os recursos do seu aplicativo sua tela de cadastro ficará assim crie um signupactivity signupactivity seguindo estes passos 1\ importe para o seu signupactivity signupactivity , além das dependências importadas no passo 1 2\ implemente o registro do usuário usando o seguinte código 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 } no projeto de exemplo, este código está disponível dentro de um cadastro cadastro callback do botão além disso, nome de usuário, senha e e mail são capturados usando edit texts você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback você pode adicionar seu próprio código para verificar se o endereço de e mail é válido antes de defini lo na interface por fim, você pode adicionar seu próprio código para fornecer feedback após concluir o cadastro, veremos a seguinte mensagem… 3\ é interessante adicionar um método adicional para exibir alert dialogs e tornar o processo mais profissional aqui está como você pode fazer isso 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 } após o cadastro, receberemos um e mail como este após verificar o e mail, a propriedade será definida como verdadeira após verificar o e mail, a propriedade será definida como verdadeira 4 fazer login para implementar o login com verificação de email, você usará o mesmo método que usou para implementar o registro de usuário mas desta vez, o parse verificará o emailverified booleano antes de conceder acesso adicional ao usuário nota o usuário realmente faz login quando a função parseuser logininbackground() é chamada mas ele não pode acessar o aplicativo completamente até que a verificação de email seja concluída, devido a um objeto de sessão que é criado no banco de dados portanto, é importante usar parseuser logout() toda vez que o usuário que não verificou seu email tenta acessar a aplicação sem sucesso, para não deixar sessões sessões abertas se você ativou a opção ‘impedir login se o email não estiver verificado’ na etapa 2, você receberá o seguinte erro se tentar fazer login sem verificar seu email para fazer loginactivity loginactivity funcionar, siga estas etapas 1\ importe para seu loginactivity loginactivity , além das dependências importadas na etapa 1 2\ to implement user login function, simply use the following code 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 } in the example project, this code is placed available a log in log in button callback also, username and password are caught using edit texts the method alertdisplayer alertdisplayer is the same that you added in the signupactivity signupactivity , don’t forget to change its intent intent arguments though 5 sair para implementar o log out do usuário, basta usar o código abaixo, no 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 } no projeto de exemplo, este código está disponível dentro de um botão de sair botão de sair callback o método alertdisplayer alertdisplayer é o mesmo que você adicionou na loginactivity loginactivity e signupactivity signupactivity , não se esqueça de mudar seus argumentos de intent argumentos de intent 6 teste seu aplicativo execute seu aplicativo, crie alguns usuários e tente fazer login após registrar sem 1\ execute seu aplicativo, crie alguns usuários e tente fazer login após registrar sem verificar o e mail para ver se o erro é exibido 2\ faça login em back4app website https //www back4app com/ 3\ encontre seu aplicativo e clique em dashboard dashboard > core core > browser browser > user user para ver os usuários que você criou! está feito! nesta fase, você pode fazer login, se inscrever ou sair do seu aplicativo usando a verificação de e mail com os recursos principais do parse server através do back4app!