Consejo rápido Autenticación con Twitter y Fabric

Los usuarios que acaban de descargar su aplicación de Android estarán mucho más contentos si les permite iniciar sesión utilizando un popular servicio de redes sociales en lugar de pedirles que completen un formulario de registro. En este rápido consejo, aprenderá cómo habilitar a sus usuarios para que inicien sesión en su aplicación con sus cuentas de Twitter..

Prerrequisitos

Para seguir adelante, debe tener la siguiente configuración:

  • La última versión de Android Studio
  • una cuenta de Twitter
  • una cuenta Fabric

Fabric es el marco de Twitter para el desarrollo de aplicaciones móviles. Proporciona un conjunto de herramientas para hacer que el desarrollo móvil sea más fácil y más ágil. Incluye informes de fallos, distribución beta, análisis móvil, etc. Si aún no tiene una cuenta de Fabric, deberá solicitar una invitación y esperar un día o dos..

1. Registre su aplicación

Cualquier aplicación que necesite interactuar con las API de Twitter debe registrarse con la consola de administración de aplicaciones de Twitter. Usa tu cuenta de Twitter para iniciar sesión.

Haga clic en el Crear nueva aplicación botón, y rellene el formulario. Introduzca valores significativos en el Nombre y Descripción campos, porque estos se mostrarán a los usuarios de su aplicación. No necesitaremos el Sitio web y URL de devolución de llamada para este tutorial, pero no puedes dejarlos en blanco. Si tiene su propio sitio web, puede utilizar su dirección aquí. Si no lo hace, simplemente escriba http://example.com.

Aceptar el acuerdo y enviar el formulario. Tu aplicación ya está registrada.

Haga clic en el Llaves y tokens de acceso pestaña y toma nota de tu Clave del consumidor y Secreto del consumidor. Los necesitaremos más tarde.

2. Instalar Fabric para Android Studio

Inicie sesión en su cuenta de Fabric y descargue el complemento para Android Studio.

Una vez que se complete la descarga, inicie Android Studio y seleccione Configurar> Complementos.

Haga clic en el Instalar el plugin desde el disco y seleccione el archivo que acaba de descargar. Una vez instalado, deberías poder ver Fabric para Android Studio en la lista de complementos.

3. Usa el complemento de tela

Cree un nuevo proyecto (o abra uno existente) y haga clic en el icono de Fabric. Inicia sesión en tu cuenta de Fabric y selecciona Gorjeo instalar el kit de Twitter para tu proyecto.

Como usaremos el Kit de Twitter solo para iniciar sesión en Twitter, elija Inicia sesión con Twitter en la siguiente pantalla.

Finalmente, se le mostrarán los cambios de código que necesita hacer en su proyecto. Primero, verá los cambios que necesita hacer en el construir expediente. Simplemente puede copiar y pegar estos cambios.

A continuación, cuando elija la pestaña para AndroidManifest.xml, Verás que se deben hacer dos adiciones:

  • Para interactuar con los servidores de Twitter, el android.permission.INTERNET permiso debe ser solicitado.
  • La clave API generada automáticamente debe mencionarse en la forma de metadatos. Una vez más, simplemente puede copiar y pegar el código que se muestra en el complemento.

Verás que un nuevo archivo llamado fabric.properties ha sido creado en tu aplicación directorio. Abra el archivo y agregue la misma clave API como se muestra a continuación.

apiKey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341

4. Crea una actividad

En este tutorial, estaremos creando un muy sencillo. Actividad que muestra un botón de inicio de sesión y una Vista de texto que muestra el resultado del intento de inicio de sesión.

Paso 1: Definir el diseño

Crear un nuevo diseño XML llamado login_activity.xml en el res / diseño directorio. Agrega un TwitterLoginButton usando el siguiente fragmento de código:

A continuación, agregue un Vista de texto para mostrar los resultados del intento de inicio de sesión.

Paso 2: Crea la clase

Crear una nueva clase de Java que amplíe la Actividad clase y anular su onCreate método. Utilizar setContentView Para utilizar el diseño XML que creamos en el paso anterior..

Recupere los widgets definidos en el XML usando el findViewById método. Puedes dejar el Vista de texto en blanco, pero voy a usar el setText método y mostrar un Cuerda que dice "Estado: Listo".

En este punto, su clase debe tener el siguiente código:

clase pública LoginActivity extiende la actividad private TwitterLoginButton loginButton; estado privado de TextView; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.login_activity); loginButton = (TwitterLoginButton) findViewById (R.id.twitter_login_button); status = (TextView) findViewById (R.id.status); status.setText ("Status: Ready"); 

Cuando vuelva a hacer clic en el icono del complemento y haga clic en la pestaña para Actividad de inicio, Encontrará el código que debe agregarse para inicializar Fabric. Copia y pega ese código en el onCreate método, antes de la llamada a setContentView.

TwitterAuthConfig authConfig = new TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (este, nuevo Twitter (authConfig));

El complemento genera sus propios valores para la clave del consumidor y el secreto del consumidor. Si bien puede utilizar estos valores, utilizaremos los valores que obtuvimos cuando registramos nuestra aplicación en Twitter. Gestión de aplicaciones consola anterior El código para usar estos valores debería verse así:

cadena final estática privada TWITTER_KEY = "qweYTYiqer5tTeqiq1"; cadena final estática privada TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";

Al hacer clic en el botón de inicio de sesión se inicia un externo Actividad Eso devuelve un resultado. Para capturar ese resultado, anule la onActivityResult método de la Actividad y pasar los argumentos recibidos a la onActivityResult Método del botón:

@ Override protected void onActivityResult (int requestCode, int resultCode, Intent data) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data); 

Para procesar el resultado del intento de inicio de sesión, debe crear una Llamar de vuelta. Crear una clase interna llamada LoginHandler que se extiende Llamar de vuelta, y anular todos sus métodos abstractos.

Los nombres de los métodos de esta clase son muy intuitivos. En caso de un inicio de sesión exitoso, el éxito se llama metodo De lo contrario, el fracaso método se llama.

clase privada LoginHandler extiende Callback @Override public void success (Resultado twitterSessionResult)  @ Anular la anulación del vacío público (TwitterException e) 

Para el TwitterLoginButton para utilizar esta devolución de llamada personalizada, en el onCreate método de la Actividad, pasar una instancia de LoginHandler al botón de setCallback método.

loginButton.setCallback (new LoginHandler ());

En caso de un intento de inicio de sesión exitoso, muestre el nombre del usuario conectado y el token de autenticación. Ambos valores están disponibles en el datos campo de Resultado. Para obtener el nombre de usuario del usuario que ha iniciado sesión. getUsername. Del mismo modo, para obtener el token de autenticación. getAuthToken. Agregue el siguiente código a la éxito método:

String output = "Estado:" + "Su inicio de sesión fue exitoso" + twitterSessionResult.data.getUserName () + "\ nAuth Token Received:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (salida);

En caso de un intento fallido de inicio de sesión, muestre un mensaje que diga "Error de inicio de sesion". Agregue lo siguiente a la fracaso método:

status.setText ("Estado: Error de inicio de sesión");

Paso 3: Actualizar el Manifiesto

Definir el Actividad Usted acaba de crear en el manifiesto de su proyecto. Si es la primera de tu aplicación Actividad, crear un filtro de intención para que responda a android.intent.action.MAIN. Agregue el siguiente código a su archivo:

     

5. Construir y ejecutar

Su aplicación ya está lista para ejecutarse. Cuando lo construyas y ejecutes en tu dispositivo Android, serás recibido con la siguiente pantalla:

Si toca el botón de inicio de sesión, será redirigido a Twitter. Tenga en cuenta que el nombre de la aplicación y la descripción que especificó en el primer paso de este tutorial se muestran en esta página.

Cuando tocas el Autorizar la aplicación botón, el intento de inicio de sesión se considera exitoso y se le redirige a su aplicación. Verás que el Vista de texto se actualiza para mostrar el nombre de usuario y el token de autenticación.

Conclusión

En esta sugerencia rápida, ha aprendido cómo habilitar a los usuarios de su aplicación para que inicien sesión con Twitter. También aprendió cómo instalar el complemento Fabric para Android Studio y cómo usarlo para agregar el Kit de Twitter a su proyecto. Para obtener más información sobre Fabric y el Kit de Twitter, consulte la documentación del Kit de Twitter para Android.