Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android

Consejo rápido: autenticación con Twitter y Fabric

Spanish (Español) translation by Javier Salesi (you can also view the original English article)

Usuarios que acaban de descargar tu aplicación Android van a ser mucho más felices si los dejas ingresar usando un servicio de red social popular en lugar de pedirles que llenen un formulario de registro. En éste consejo rápido, vas a aprender cómo permitir a tus usuarios ingresen a tu aplicación con sus cuentas de Twitter.

Requisitos Previos

Para continuar, deberías tener listo lo siguiente:

Fabric es el framework de Twitter para desarrollar aplicaciones móviles. Ofrece un conjunto de herramientas para facilitar el desarrollo móvil y hacerlo más ágil. Incluye reportes de fallas, distribución beta, análisis del comportamiento en los usuarios que acceden a una aplicación desde sus dispositivos móviles, etc . Si no tienes una cuenta de Fabric todavía, tendrás que pedir una invitación y esperar uno o dos días.

1. Registra Tu Aplicación

Cualquier aplicación que necesita interactuar con la API de Twitter debería ser registrada usando la consola de Gestión de Aplicaciones de Twitter. Usa tu cuenta de Twitter para ingresar.

Da click en el botón de Create New App, y llena el formulario. Ingresa valores significativos en los campos de Name y Description, porque éstos serán mostrados a los usuarios de tu aplicación. Nosotros no necesitaremos el Website y Callback URL para éste tutorial, pero no puedes dejarlos en blanco. Si tienes tu propio sitio web, puedes usar su dirección aquí. Si no, simplemente puedes escribir httpl://example.com.

Create an ApplicationCreate an ApplicationCreate an Application

Acepta el acuerdo y envía el formulario. Tu aplicación ahora está registrada.

Da click en la pestaña Keys and Acces Tokens y toma nota de tu Consumer Key (Clave del Consumidor) y Consumer Secret (Secreto del Consumidor). Las necesitaremos más adelante.

Make Note of the Consumer Key and Consumer SecretMake Note of the Consumer Key and Consumer SecretMake Note of the Consumer Key and Consumer Secret

2. Instala Fabric para Android Studio

Ingresa a tu cuenta de Fabric y descarga el plugin para Android Studio.

Download Fabric for Android StudioDownload Fabric for Android StudioDownload Fabric for Android Studio

Una vez que se complete la descarga, inicia Android Studio y selecciona Configure > Plugins.

Install Fabric for Android StudioInstall Fabric for Android StudioInstall Fabric for Android Studio

Da click en el botón Install plugin from disk y selecciona el archivo que acabas de descargar. Una vez instalado, deberías poder ver Fabric for Android Studio en la lista de plugins.

Install Fabric for Android StudioInstall Fabric for Android StudioInstall Fabric for Android Studio

3. Usa el Plugin Fabric

Crea un nuevo proyecto (o abre uno existente) y da click en el ícono de Fabric. Ingresa en tu cuenta de Fabric y selecciona Twitter para instalar Twitter Kit para tu proyecto.

Select Twitter KitSelect Twitter KitSelect Twitter Kit

Como estaremos usando Twitter Kit sólo para ingresar a Twitter, elige Log in with Twitter en la próxima pantalla.

Were Only Interested in Log In with TwitterWere Only Interested in Log In with TwitterWere Only Interested in Log In with Twitter

Finalmente, te serán mostrados los cambios en el código que necesitas hacer en tu proyecto. Primero, verás los cambios que necesitas hacer en el archivo build.grade. Puedes simplemente copiar y pegar éstos cambios.

Update the buildgradle FileUpdate the buildgradle FileUpdate the buildgradle File

Luego, cuando eliges la pestaña para AndroidManifest.xml, verás que se necesitan hacer dos adiciones:

  • Para interactuar con los servidores de Twitter, el permiso android.permission.INTERNET debe ser requerido.
  • La clave de API automáticamente generada debería ser mencionada en el formulario de meta-data. De nuevo, simplemente puedes copiar y pegar el código mostrado por el plugin.

Verás que un nuevo archivo llamado fabric.properties ha sido creado en el directorio de tu app. Abre el archivo, y agrega la misma clave API a él, como se muestra debajo.

4. Crea una Activity

En éste tutorial, estaremos creando una Activity muy simple que muestre un botón de acceso y un TextView que muestre el resultado del intento de acceso.

Paso 1: Define el Layout

Crea un nuevo layout XML llamado login_activity.xml en el directorio res/layout. Añade un TwitterLoginButton usando el siguiente fragmento de código:

Posteriormente, añade un TextView para mostrar los resultados del intento de acceso.

Paso 2: Crea la Clase

Crea una nueva clase Java que extiende de la clase Activity y sobreescribe su método onCreate. Usa setContentView para utilizar el layout XML que creaste en el paso anterior.

Toma los widgets definidos en el XML usando el método findViewById. Puedes dejar TextView en blanco, pero voy a usar el método setText y mostrar un String con la leyenda: "Status:Ready".

A estas alturas, tu clase debería tener el siguiente código en él:

Cuando das click otra vez en el ícono del plugin y das click en la pestaña para Start Activity, encontrarás el código que necesita ser añadido para inicializar Fabric. Copia y pega ese código en el método onCreate, antes del llamado a setContentView.

El plugin genera sus propios valores para la clave del consumidor y el secreto del consumidor. Mientras puedes usar éstos valores, nosotros usaremos los valores que dimos cuando registramos nuestra aplicación en la consola Gestión de Aplicaciones anteriormente. El código para usar éstos valores deberían verse así:

Dando Click en el botón de acceso inicia una Activity externa que regresa un resultado. Para capturar ese resultado, sobreescribe el método onActivityResult de la Activity y pasa los argumentos recibidos al método onActivityResult del botón:

Para procesar el resultado del intento de acceso, debes crear un Callback (devolución de llamada) personalizado. Crea una clase interna llamada LonginHandler que extiende de Callback<TwitterSession>, y sobreescribe todos sus métodos abstractos.

Los nombres de los métodos de ésta clase son muy intuitivos. En caso de un acceso exitoso, el método success es llamado. De otra forma, el método failure es llamado.

Para el TwitterLoginButton para usar éste callback personalizado, en el método onCreate de la Activity, pasa una instancia de LoginHandler al método setCallback del botón.

En caso de un intento de acceso exitoso, muestra el nombre del ingresado en usuario y el auth token (token de seguridad). Ambos valores están disponibles desde el campo data de Result<TwitterSession>. Para obtener el nombre de usuario del ingresado en usuario utiliza getUsername. Similarmente, para obtener token de seguridad utiliza getAuthToken. Agrega el siguiente código al método success:

En caso de un intento de acceso fallido, muestra un mensaje con la leyenda: "Login Failed". Agrega lo siguiente al método failure:

Paso 3: Actualiza el Manifiesto

Define la Activity que acabas de crear en el manifiesto de tu proyecto. Si es la primera Activity de tu aplicación, crea un intent filter (filtro) para que responda a android.intent.action.MAIN. Agrega el siguiente código a tu archivo:

5. Compila y Ejecuta

Tu aplicación ahora está lista para ser ejecutada. Cuando la ejecutas y compilas en tu dispositivo Android, verás primero la siguiente pantalla:

Si presionas el botón de acceso, serás redirigido a Twitter. Nota que el nombre de la aplicación y la descripción que especificaste en el primer paso de éste tutorial se muestran en ésta página.

Cuando presionas el botón de Authorize app, el intento de acceso es considerado exitoso y eres redireccionado de vuelta a tu aplicación. Verás que el TextView es actualizado para mostrar el nombre de usuario y el token de seguridad.

Conclusión

En éste consejo rápido, has aprendido cómo permitir a los usuarios de tu aplicación accesar utilizando Twitter. También aprendiste cómo instalar el plugin Fabric para Android Studio y cómo usarlo para agregar Twitter Kit a tu proyecto. Para aprender más sobre Fabric y Twitter Kit, lee la documentación de Twitter Kit para Android.

¡Sé el primero en conocer las nuevas traducciones–sigue @tutsplus_es en Twitter!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.