Desarrollo

Integrar Account Kit en Android con Java6 min read

25 abril, 2016 4 min read
Carlos Cornejo

author:

Integrar Account Kit en Android con Java6 min read



Guía para integrar Account Kit en Android con Java en nuestros proyectos existentes o nuevos.

Reading Time: 4 minutes

Facebook Login ha sido una alternativa fácil de implementar en nuestras aplicaciones permitiendo a los usuarios registrarse en segundos, pero siempre teníamos problemas cuando los usuarios no tenían cuentas de Facebook, para solucionar esto hace unas semanas Facebook anunció: “Account Kit”, esta herramienta nos ayuda a poder registrar usuarios de una forma fácil y rápida mediante el número de teléfono o correo electrónico.

La librería para Android está basada en Java, es por eso que hemos creado esta guía para todos los programadores en Java, de esta forma será fácil poder implementar Account Kit en tu proyecto existente o nuevo.

Si deseas descargar el código fuente puedes hacerlo desde Github.

Requerimientos

Preparemos nuestra arquitectura del proyecto.

1. Debemos crear un proyecto nuevo, le llamaremos “AccountKitAndroid”.
2. Agregamos la primera “Blank Activity” y en este caso le llamaremos “InitialActivity”.
3. Agregamos una segunda “Blank Activity”, le llamaremos “SecondActivity”.

Quedando todo así:

Layout InitialActivity:

Layout SecondActivity:

Asignar permisos a nuestra aplicación Android

Algunas características brindadas solo están disponibles cuando permisos específicos son habilitados en aplicaciones Android, estos no son obligatorios, pero ahorraran al usuario algo de tiempo al usar AccountKit.

  • Permisos para SMS – Permiten a la aplicación auto-rellenar los campos requeridos.
  • Permisos para Email – Estos dan acceso directo al mensaje de autorización de logueo.


Auto-relleno de código de confirmación del SMS recibido


Si se concede este permiso, el SDK de AccountKit automáticamente llena los campos de confirmación con el SMS recién recibido.

Agrega el siguiente permiso a tu AndroidManifest.xml:


Leer el número de teléfono en el dispositivo


Si se concede este permiso, el SDK de AccountKit automáticamente llena el campo de numero de teléfono con el encontrado en el dispositivo.

Agrega el siguiente permiso a tu AndroidManifest.xml:


Permisos adicionales de Emails disponibles en el dispositivo


Si se concede este permiso, el SDK de AccountKit les permite seleccionar uno de los Emails disponible en el dispositivo.

Agrega el siguiente permiso a tu AndroidManifest.xml:


Lanzar aplicación desde mail de AccountKit


Si se concede este permiso, el SDK de AccountKit se le permite lanzar la aplicación en el dispositivo, cuando se ha elegido el método de logueo por Email, al dar clic en el link recibido, la aplicación automáticamente se lanza y hace la redirección la fase final de logueo.

Agrega el siguiente Intent Filter a tu AndroidManifest.xml:

Agrega lo siguiente en tu strings.xml:

Configuremos el SDK de AccountKit

Agrega tu Facebook app ID y tu Account Kit client token al archivo AndroidManifest.xml.

Agrega la dependencia con la ultima versión del SDK de AccountKit en build.gradle:

Agrega lo siguiente a AndroidManifest.xml:

Define el valor app_id con tu Facebook app ID y el valor ACCOUNT_KIT_CLIENT_TOKEN con tu token proporcionado en la tab de Account Kit en tu aplicación.

Inicializando el SDK de AccountKit

En la “InitialActivity” inicializamos AccountKit.

En la misma inicialización se puede comprobar si ya hay sesiones iniciadas por la aplicación, cuando el token es nulo, se le deja en el “InitialActivity” que actúa como pantalla de logueo.

Codeando el método de logueo

Para generalizar y ahorrar código, se puede escribir el siguiente método de logueo, solamente proporcionándole una variable booleana, true si es logueo por SMS y false si es logueo por EMAIL.

Manejando el resultado de la Activity

Luego de efectuar el login, necesitamos capturar el resultado de la Activity, para esto, extraemos el AccountKitLoginResult del Intent para determinar la fase final del logueo.

Al tener éxito en el logueo, automáticamente redirecciona a “SecondActivity”.

Mostrando datos de AccountKit y deslogueando

En la SecondActivity se muestran los datos en TextViews, mediante el método setUserInformation() y el método de deslogueo se llama LogOut.

Proyecto completo

Una vez terminado el último paso, el proyecto está completo y listo para probar. Espero esta guía sea de ayuda, cualquier pregunta pueden hacerla en los comentarios y si encuentran algún error o forma de mejorar el código sería de gran ayuda para la comunidad.

Pueden descargar todo el código fuente del proyecto funcional desde aquí.