Creando botones de login personalizados para Android

Una de las cosas con las que menos me gusta trabajar es con los SDK de redes sociales. Cada una tiene su propia manera de hacer las cosas, por lo que a nivel de código, aún teniendo mucho cuidado, vas a terminar teniendo un batiburrillo de métodos no uniformes pero de nombres parecidos que van a ser llamados en distintos momentos y que van a trabajar de distinta forma. Pero bueno, eso quedará oculto al usuario. Lo que realmente me molesta es lo que sí se ve. Por ejemplo, los botones de login.

Captura de pantalla 2015-05-31 14.14.50

Cada empresa intenta cuidar lo más posible su imagen de marca (y esto es perfectamente comprensible). Lo que quiere cada una es que, hagas login donde lo hagas, puedas reconocer fácilmente su botón, por lo que te intentan forzar a utilizar el mismo en todas partes (ya sea iOS, Android o una aplicación Web). Y si vas a utilizar únicamente una red social, pongamos Facebook como ejemplo, esto no termina de ser malo. Aunque estés forzado a usar un determinado botón puedes ajustar el resto de tus elementos para que no termine de quedar mal. Pero lo común es que si vas a permitir que tus usuarios entren utilizando Facebook, también lo puedan hacer usando Google+ (sí, en serio), Twitter, su email o cualquier otro método que quieras contemplar.

Sigue leyendo

Facebook, su SDK y el email sin confirmar

Como sabréis si alguna vez habéis desarrollado una aplicación que requiera login (ya sea de escritorio, móvil o web-app), la autenticación del usuario es una de las cosas que más dolores de cabeza puede provocar. ¿Obligo al usuario a darme equis dato? ¿Cómo lo identifico de manera única? ¿Cómo almaceno en la base de datos toda su información de manera segura? Gracias a $root, en los últimos años han surgido servicios de autenticación ofrecidos por grandes redes sociales que permiten usarlos a ellos como intermediarios en este proceso.

login-facebook-button

Es decir, confiamos en que el usuario A es realmente A porque un tercero, C, garantiza a nuestro servicio, B, que A es quien dice ser. De esta manera eliminamos de nuestra responsabilidad gran parte de la gestión segura de usuarios (no toda) y nos despreocupamos. Enseñamos a nuestros usuarios botones tales como “Login with Google+”, “Login with Twitter” o “Login with Facebook”, añadimos las líneas de código necesarias a nuestra app para comunicarnos con estos servicios y nos sentamos a esperar a que amablemente nos envíen la información del usuario que hemos requerido.

Sigue leyendo