Introducción a Firebase
Al crear aplicaciones móviles, casi el 100% de las veces necesitamos un servidor “back-end” el cual proporciona los datos necesarios a la app y de igual manera permite almacenar algunos datos generados por nuestros usuarios. También muchas veces necesitamos identificar al usuario, ya sea por medio de su email, cuenta de Facebook, Twitter o alguna otra. Una funcionalidad cada vez más común en las aplicaciones son las notificaciones, que también tendríamos que desarrollar en nuestro servidor para que funcionen. Para saber cómo utilizan tus usuarios tu aplicación necesitas información conocida como Analytics (estadísticas). Y también a veces necesitas cambiar la configuración de tu app sin sacar una nueva versión. Todas estas características, entre otras, son las que ofrece Firebase, de Google.
Firebase pretende facilitar el desarrollo de aplicaciones móviles y web al proporcionar estas herramientas. Es una solución muy completa que nos puede evitar tener que desarrollar un servicio web completo. Nos puede ayudar a tener un alcance más grande de usuarios. Además, tiene dos grandes ventajas: para comenzar, Firebase es gratis y además se puede ir contratando un plan que cumpla con las necesidades, conforme tu app vaya creciendo.
En esta serie de Posts explicaremos qué es Firebase y cómo implementar algunas de sus funcionalidades en aplicaciones Android.
Los temas de Firebase que se verán serán:
- Añadiendo Firebase a tu app Android
- Autenticación
- Analytics
- Notificaciones
- Configuración Remota
- Base de datos
- Primera Parte: Reglas
- Segunda Parte: Implementación
- Almacenamiento
Toda la información oficial de Firebase la pueden encontrar aquí.
El código completo para este Post lo pueden encontrar en Github. Esta aplicación no tiene funcionalidad alguna, solamente se muestra cómo agregar Firebase. Este código será la base para los siguientes Posts.
Instalando Firebase
Para comenzar a utilizar Firebase necesitamos crear un proyecto en su consola. Al entrar por primera vez, podrán visualizar una pantalla similar a la siguiente:

Para crear un nuevo proyecto solamente hay que hacer clic en el botón “Crear Nuevo Proyecto”. Aparecerá un diálogo para introducir el nombre de tu aplicación y para seleccionar tu país o región. Nombraremos nuestro proyecto Firebase. Al ingresar el nombre del proyecto y seleccionar el país o región, hay que dar clic en el botón para crear tu proyecto.

Una vez creado el nuevo proyecto se abre la página principal de la consola.

Como vamos a crear una aplicación para Android, presionaremos el botón “Añade Firebase a tu aplicación de Android” que se encuentra en el centro de la pantalla. Como podemos ver, también se puede agregar Firebase a una aplicación de iOS y a una aplicación web.
Se nos presenta la siguiente pantalla para poder agregar Firebase a nuestra app Android.

Antes de poder añadir Firebase a nuestra app, necesitamos tener creado nuestro proyecto en Android Studio, ya que como vimos en la imagen, Firebase nos pide el paquete de nuestra aplicación. En nuestro caso, creé la aplicación con el paquete com.warriorminds.firebase. De igual manera, podemos agregar un apodo a nuestra app si así lo deseamos.
Por último, necesitamos proporcionar nuestro certificado SHA-1. Este certificado se debe de obtener tanto para la firma de debug como para la firma de producción de nuestra app.
Obtener el certificado SHA-1 en Windows
Para obtener el certificado SHA-1 en Windows, debemos de abrir la consola e ir al directorio donde tenemos instalado el JDK de Java. En mi caso es en c:/Program Files/Java/jdk1.8.0_92/bin. Una vez ahí, ejecutaremos el siguiente comando:
keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
Al ejecutar el comando se nos solicitará una contraseña. La contraseña por defecto para la firma de debug de Android es android. Una vez que ingresamos la contraseña obtenemos tres valores: MD5, SHA1 y SHA256.

Debemos de copiar el valor de SHA1 a nuestra consola de Firebase. Cuando hayamos terminado de copiar el valor, podremos añaidr nuestra aplicación a Firebase.
Continuando con la instalación de Firebase
Al añadir nuestra aplicación, necesitaremos descargar un archivo llamado google-services.json. Este archivo contiene la configuración de nuestra app en Firebase. Debemos de guardarlo en el directorio app de nuestra aplicación. Recuerden que deben descargar su propio archivo google-services.json y colocarlo en la carpeta app. Este archivo no está en el repositorio de Github y si no lo agregan, no funcionará su aplicación.

Una vez descargado el archivo google-services.json, hemos terminado de añadir nuestra aplicación a Firebase. Nuestra app nos aparecerá en la consola principal.

Dependencias
Firebase nos proporciona dependencias separadas para cada uno de sus módulos. Cuenta con una dependencia principal o core que debemos de añadir siempre. También necesitamos agregar Google Play Services a nuestra aplicación. Si por alguna razón al agregar estas dependencias gradle no las encuentra, necesitan actualizar su SDK de Android a la última versión.
En el archivo de proyecto build.gradle debemos de agregar el siguiente classpath
'com.google.gms:google-services:3.0.0'
Por último, en el archivo build.gradle de la aplicación debemos agregar las dependencias que utilizaremos de Firebase. Para comenzar y como base, necesitamos agregar firebase-core:
compile 'com.google.firebase:firebase-core:9.8.0'
Al final del mismo archivo necesitamos agregar la siguiente línea para aplicar el plugin de google-services
apply plugin: 'com.google.gms.google-services'
Conclusión
Hemos terminado de configurar y agregar nuestra app a Firebase. Los pasos que seguimos fueron:
- Crear nuestro proyecto en la consola
- Agregar nuestra aplicación Android, obteniendo el certificado SHA1 con keytool.
- Descargar el archivo google-services.json y agregarlo a la carpeta app de nuestro proyecto.
- Agregar la dependencia de google-services en build.gradle del proyecto.
- Agregar la dependencia de firebase-core en build.gradle de la app.
- Aplicar el plugin de google-services en el archivo build.gradle de la app.
En el siguiente Post, aprenderemos a autenticar usuarios mediante correo electrónico, Google, Facebook, Twitter y autenticar usuarios anónimos, todo esto utilizando Firebase.
Deja un comentario