Firebase es una plataforma que une varios servicios. Actúa como si fuera un Backend as a Service (BaaS).1 En este tutorial nos centraremos en cómo usar su servicio de Base de Datos en Tiempo Real. Veremos cómo integrar Firebase en apps Android, desde la creación de un proyecto en Firebase hasta la manipulación de datos en la base de datos en tiempo real.

Puntos Clave

  • Integración sencilla de Firebase en aplicaciones Android
  • Creación de proyectos y registro de la aplicación en la consola de Firebase
  • Configuración del archivo google-services.json para acceder a la configuración del proyecto
  • Incorporación de las bibliotecas de Firebase en el proyecto Android
  • Interacción con la base de datos en tiempo real de Firebase

¿Qué es Firebase y por qué usarlo en aplicaciones Android?

Firebase es un sistema de Google. Proporcia muchos servicios para aplicaciones móviles y web.2 Entre sus ofertas tenemos: Base de Datos en Tiempo Real, Autenticación, Almacenamiento, y más.2 Al usar Firebase, los desarrolladores pueden hacer apps sin necesidad de tener su propio servidor. Esto hace el proceso más sencillo y rápido.

Ventajas de usar Firebase en el desarrollo de aplicaciones móviles

Integración sencilla: Firebase se conecta fácilmente con apps de Android gracias a su kit de desarrollo.2 Escalabilidad y confiabilidad: Siendo parte de Google, sus servicios son altamente escalables y confiables.2

Desarrollo ágil: Firebase deja que los desarrolladores se centren en la aplicación. No tienen que preocuparse de servidores.2 Analíticas y herramientas: También ofrece herramientas útiles como analíticas y gestión de proyectos. Ayudan en el desarrollo y seguimiento de apps.2

Servicios principales ofrecidos por Firebase

Firebase es un conjunto de servicios. Sirve como un Backend as a Service (BaaS).2 Incluye herramientas como una Base de Datos en Tiempo Real, Autenticación, Almacenamiento, y más.2

Requisitos previos para integrar Firebase en Android

Para usar Firebase en una app de Android, necesitas tener todo configurado. Esto significa tener Android Studio actualizado. Asegúrate de cumplir estos puntos: 1) El nivel de API objetivo debe ser 19 o más3. 2) Debes usar Android 4.4 o superior3. 3) Usar Jetpack (AndroidX) con versiones compatibles de Gradle y Android Gradle Plugin3.

Creación de un proyecto en la consola de Firebase

Para comenzar con Firebase, primero crea un proyecto en su consola. Ve a la opción de «Agregar proyecto» y elige si crear uno nuevo o usar uno ya existente en Google Cloud Platform. Añade un nombre al proyecto y, si quieres, configura Google Analytics también.

Registrar la aplicación Android con Firebase

Después de crear tu proyecto en Firebase, debes registrar tu aplicación Android3. Haz clic en el icono de Android o en «Agregar app» en la consola de Firebase para empezar. Luego, introduce el nombre del paquete de la aplicación. Este nombre lo encuentras en el archivo Gradle, comúnmente en app/build.gradle.

Agregar información adicional de la aplicación

Añadir detalles extra es útil. Puedes incluir un sobrenombre, que es internamente visible solo en Firebase. También el certificado de firma SHA-1 de depuración es necesario. Se requiere para usar ciertos servicios como Firebase Authentication y Firebase Dynamic Links.

registro de app Android

Configurar el archivo google-services.json

Después de registrar la aplicación en, toca descargar un archivo clave: google-services.json. Este archivo es vital para Firebase en Android. Lleva datos importantes del proyecto, como IDs únicos.

Una vez en tus manos, coloca el google-services.json en el nivel principal del proyecto. Así, los SDK de Firebase podrán encontrar los ajustes necesarios del proyecto.3

Integrar Firebase en el proyecto Android

Para sumar Firebase a un proyecto Android, hay que integrar Google Services Gradle plugin en los archivos Gradle.3 Primero se añade a nivel de proyecto en el build.gradle. Luego, se incorpora al nivel de la aplicación en el build.gradle del módulo.

Agregar el complemento de Google Services en los archivos Gradle

Una vez se ha integrado el plugin de Google Services, es clave incluir las bibliotecas necesarias de Firebase.34 Usar la Firebase BoM es una buena idea. Ayuda a manejar las versiones de las bibliotecas de forma efectiva.

Agregar las dependencias de los productos de Firebase

Integrar Firebase en el proyecto Android sigue con añadir el complemento de Google Services y incluir las dependencias apropiadas de Firebase.34 Así se logra una integración sin problemas y el manejo de versiones se hace más fácil gracias a Firebase BoM.

Integración de Firebase en Aplicaciones Android: Tutorial Paso a Paso

Aquí tienes cómo añadir Firebase a tus apps Android en pocos pasos:

  1. Primero, crea un proyecto en Firebase en su consola.3
  2. Luego, registra tu app Android en Firebase.3
  3. Descarga y añade el archivo google-services.json.3
  4. Integra las dependencias de Firebase en tus archivos Gradle usando el complemento de Google Services.3
  5. Configura la base de datos en tiempo real.
  6. Y ya puedes empezar a leer y escribir datos en la base de datos.

Para usar Firebase, necesitas añadir sus librerías al proyecto Android.3 La mejor forma de hacerlo es usar la Biblioteca de Componentes de Firebase para Android.

3

Firebase no solo es para móviles; lo puedes usar en webs también.4 En las webs, añade las librerías de Firebase por medio de scripts o como dependencias NPM. Inicializa tu app con la configuración de Firebase.

4

CaracterísticasValor
Nivel de API objetivo19 (KitKat) o superior3
Versión de Jetpack (AndroidX)Com.android.tools.build:gradle 3.2.1 o superior, compileSdkVersion 28 o posterior3
Servicios de Google PlayRequeridos para usar los SDKs de Firebase3
Conexión a FirebaseMediante Firebase Console o Firebase Assistant de Android Studio3
Versión preferida de Firebase para web10.7.24

Integrar Firebase en Android es más fácil con la Biblioteca de Componentes (BoM).3 No olvides añadir el archivo google-services.json. Así, tus SDK de Firebase tendrán la información que necesitan.3

Configurar la base de datos en tiempo real de Firebase

El próximo paso, tras añadir Firebase al proyecto Android, es configurar la base de datos en tiempo real. ¿Sabías que Firebase tiene dos tipos de base de datos? Sí, Cloud Firestore y Realtime Database. Para esta guía, elegimos Cloud Firestore. Te guiaré: en la consola de Firebase, ve a Cloud Firestore y crea una nueva base de datos. Durante este paso, elige el modo de inicio y la ubicación preferida para los recursos de tu proyecto.

Crear una base de datos Cloud Firestore

Cuando creas la base de datos Cloud Firestore, estableces cómo se accede a los datos. Podrás cambiar estas reglas luego, en la sección «Reglas» de la consola de Firebase. Al principio, los ajustes permiten a los usuarios registrados leer y escribir. Para este tutorial, pondremos las reglas en modo de prueba. Así, todos los clientes pueden ver e intercambiar datos.

Configurar las reglas de seguridad iniciales

Configurar reglas de seguridad es el primer paso al crear una base de datos en Firebase. Más adelante, podrás ajustar estas reglas en la sección correspondiente. Por default, los accesos están restringidos a usuarios autentificados. Pero para nuestro tutorial, dejaremos que cualquiera pueda ver y editar los datos.

Agregar la biblioteca de Firebase a la aplicación

Si quieres usar Firebase en tu app de Android, debes añadir sus bibliotecas al proyecto.4 Hacerlo es fácil, solo hay que declarar las dependencias en el Gradle. Usar la Biblioteca de Componentes de Firebase para Android es una buena idea.

Te permite manejar fácilmente las versiones de las bibliotecas. Algunos ejemplos de bibliotecas útiles son firebase-analytics, firebase-auth y firebase-firestore.

Configuración para iOS

Firebase también es compatible con iOS. Para configurar tu app en iOS, debes incluir el SDK de Firebase.

Lo haces a través de Swift Package Manager, CocoaPods u otros medios.4 El proceso es parecido al de Android. Descargas un archivo de configuración y agregas las bibliotecas necesarias al proyecto.

Configuración para Web

También puedes usar Firebase en aplicaciones web.5 Para empezar, añade las bibliotecas de Firebase a tu proyecto con scripts o con NPM.

Interactuar con la base de datos en tiempo real

Al integrar Firebase en una app Android, podemos empezar a usar la base de datos en tiempo real.4 Cloud Firestore es una gran opción para apps Android, gracias a Firebase.4 Dependiendo de la versión de las bibliotecas, la configuración y características varían.

Escribir datos en la base de datos

Para escribir datos, primero necesitamos una referencia a la base de datos. Luego, usamos setValue() para colocar valores en un nodo.1 Por defecto, Firebase solo permite el acceso a usuarios que se han autenticado. Para que sea público, debemos cambiar las reglas de read y write.1Todo lo que guardemos se verá reflejado al momento en Cloud Firestore.

Leer datos de la base de datos

Para leer al instante de la base de datos, añadimos un listener tipo ValueEventListener.1 Cada vez que los datos cambian, se activa onDataChange(). Esto nos da acceso a los nuevos datos en tiempo real.1Así, la app se actualiza cuando hay cambios en la base de datos.

Firebase real-time database

Prácticas recomendadas y consejos

Al usar Firebase en apps Android, algunas recomendaciones son útiles. Usar la Biblioteca de Componentes de Firebase. Esto ayuda a sincronizar las versiones6.

Además, es crucial configurar bien las reglas de la base de datos. Esto se hace antes de lanzar la app al público. También, es útil monitorizar la app con Firebase Analytics. Asimismo, no hay que olvidar explorar servicios como Autenticación y Almacenamiento de Firebase. Estos amplían las funcionalidades de tu app.

Cuando estructuramos datos en Firebase, es importante recordar que usamos objetos JSON6. Las claves de identificación deben codificarse en UTF-8 y no deben ser muy largas para un buen rendimiento6.

En Firebase, puedes anidar datos hasta 32 niveles. Aunque, se aconseja evitar muchas capas para recuperar datos más rápido6.

Para consultar datos de forma eficaz, es mejor mantener las estructuras de datos simples6. Cuando trabajamos con muchos datos, a veces basta con recuperar un poco de información. Esto hace la app más ágil.

Si usamos relaciones bidireccionales, puede ser útil duplicar algunos datos. Además, emplear índices mejora la velocidad al buscar datos6.

Enlaces de origen

  1. https://medium.com/@devpicon/android-firebase-realtime-database-101-1-5c48602172b0
  2. https://digital55.com/blog/que-es-firebase-funcionalidades-ventajas-conclusiones/
  3. https://firebase.google.com/docs/android/setup?hl=es-419
  4. https://firebase.google.com/docs/firestore/quickstart?hl=es-419
  5. https://es.slideshare.net/slideshow/almacenar-datos-en-firebase-con-androidstudio-242322254/242322254
  6. https://firebase.google.com/docs/database/web/structure-data?hl=es-419

Deja un comentario