Hoje é dia de continuar a série de posts sobre o Fabric! Não perca as contas, este é o quinto post da série! Se você ainda não leu os posts anteriores, seria interessante lê-los antes de ler este.
Agora, vamos ao que interessa! kkk
No primeiro post, dentre os kits que compõem o Fabric, eu mencionei e falei um pouco sobre o Digits. Esse kit foi criado pelo Twitter com o objetivo de viabilizar o login em aplicativos utilizando somente o número de telefone do usuário. O fato do Digits ser baseado no número de telefone é uma característica chave, uma vez que toda pessoa usuária de smartphone possui um. Esse fator garante a escalabilidade de apps que fazem uso desse kit.
Quando o login é feito por meio do Digits, o usuário apenas insere o número do telefone e, em seguida, recebe um SMS com um código de confirmação, o qual deve ser inserido no app para validar o acesso. É um procedimento bem simples, se compararmos ao login convencional onde o usuário tem que digitar diversas informações antes de acessar o app. Além disso, toda a parte de confirmação e validação do número do telefone é realizada pela infraestrutura do Twitter.
Neste post, eu irei demonstrar como integrar o Digits ao seu projeto Android e como realizar um login simples através dele. Este post é apenas introdutório, talvez eu faça um ou dois posts extras falando sobre outras funcionalidades mais avançadas do Digits.
Para adicionar o Digits ao seu projeto, o primeiro passo é abrir o plugin do Fabric no Android Studio e clicar em “+New App” para criar um novo aplicativo a ser vinculado, como mostra a imagem a seguir:
Em seguida, selecione a organização no qual o novo app será inserido e clique em “next”.
Quando a janela dos kits abrir, escolha o Digits.
Na janela do Digits, clique em “Install”.
Como o Digits é um kit que implementa a funcionalidade de login, ele possui uma infraestrutura própria. Dessa forma, antes de inserir o kit no projeto, é necessário criar uma conta diferente da conta que é utilizada no Fabric para ter acesso a seus recursos. A imagem abaixo mostra a janela onde a conta no Digits deve ser criada.
Ao clicar em “Create Account”, se ocorre tudo bem e a conta for criada, a próxima janela mostrará os trechos de código a serem inseridos no projeto para que o Digits seja implantado. Sendo assim, basta clicar em “Apply” para que inseri-los. A API KEY e a API SECRET geradas na criação da conta serão inseridos automaticamente junto com o código.
Após esse procedimento, dê um rebuild no gradle
e, se não ocorrer nenhum erro, execute a aplicação para que o Fabric a registre.
Com o app devidamente registrado, se você abrir o painel do Fabric na Web e acessar a aba do Digits, pode ser visto a conta recém-criada junto com a API KEY e a API SECRET. Lembrando que cada projeto deve ter suas próprias keys.
Logando através do Digits
Com Digits já implantado no projeto, o próximo passo será fazer o app realizar o login do usuário utilizando seus recursos. Para isso, selecione o projeto recém-criado na lista de apps do plugin.
Em seguida, selecione o Digits.
Como o objetivo deste post é testar o login com o Digits, a opção “Get Code” do “Sign In with Phone Number” deve ser escolhida. A segunda opção “Theme Your Digits App” serve para mostrar como alterar o tema da janela de login criada pelo Digits (talvez faça um post sobre isso também), o que não é nosso caso hoje.
Na janela seguinte serão mostrados os trechos de código necessários para a criação do login. Basicamente, esses trechos de código irão criar um botão através da classe DigitsAuthButton
. Essa classe implementa o processo de login em um botão, o qual possui uma interface de Callback
chamada AuthCallback
como os métodos success
e error
. Sendo assim, se o processo de login ocorrer sem erros, o método success
é chamado. O método error
é chamado caso algo não dê certo.
A classe DigitsSession
gerencia a sessão do usuário logado através do Digits. Através dela, é possível obter o AuthToken, o ID, o número do telefone e o email (talvez faça outro post falando como obter o email com o Digits) do usuário.
Após copiar e colar os trechos de código nos seus respectivos arquivos, ao executar o app, o visual dele deve ficar semelhante ao exibido na imagem abaixo:
É importante esclarecer que a mensagem “Use My Phone” presente no botão é vinculada ao idioma do dispositivo. Portanto, se o idioma do dispositivo mudar para português, a mensagem e todas as outras telas do processo de login também ficarão em português.
Quando o usuário clica em “Use My Phone”, a tela que se abre em seguida é semelhante à mostrada abaixo. Toda a tela é gerada pelo Digits, o programador não precisa se preocupar com essa parte. Desse modo, ao usuário, basta apenas selecionar o país e digitar o número do telefone a ser usado no login.
Após completar o preenchimento e clicar em “Send confirmation code”, o usuário receberá um SMS com um código de seis dígitos, o qual deverá ser inserido na janela seguinte.
Ao clicar em “Continue”, se o código de confirmação estiver correto o login é liberado. No caso deste exemplo, um Toast contendo uma mensagem de autenticação realizada com sucesso é exibida.
Bom, é isso. O Digits é uma boa alternativa pra que não quer perder tempo implementando logins complexos e quer facilitar a vida do usuário.
Caso você queira ver a implementação do projeto exemplo utilizado neste post, acesse: Exemplo Digits.
E ae gostou do Digits? Vou tentar fazer alguns outros posts sobre o Digits, mas enquanto eles não chegam, podem deixar seus comentários com as dúvidas que aparecerem.