Entonces mi URL está funcionando a la perfección, you sea cual sea el parámetro que envió, es el parámetro que me devuelve. Y lo que haré a continuación de acuerdo a nuestro itinerario, que tenÃamos por aquÃ, de acuerdo a esto lo que debemos hacer es que una vez que you tenemos lista nuestra petición o nuestro endpoint a partir de una RestAPI, si viste qué fácil y qué rápido lo hicimos. Ahora vamos a atacar el punto número dos, vamos a trabajar con el almacenamiento de la base de datos y recuerda que habÃamos platicado que el almacenamiento iba a ser a través de Firebase, okey. Entonces voy a entrar a mi aplicación Petagram y voy a ir a la parte de Firebase y listo, hasta ahorita pues esta es la data que estoy trabajando. Como vimos hace un momento esta es la data que espero trabajar, esta es la formal estructura que quiero tener para estar almacenando mis elementos. Solamente este dato, bueno, you tú lo estarás implementando, hasta ahorita yo voy a estar trabajando con esta forma de data, que solamente esté recibiendo muchos tokens. Entonces voy a empezar, voy a ver, voy a ir a los samples de Firebase y voy a poner aquà código de ejemplo. Vamos a trabajar las guides y aquà donde dice get start vamos a ir a la parte de server, okey. Vamos a ver cómo es que tenemos que configurar nuestro proyecto para comenzar a integrar Firebase, okey. Entonces dice que los pre requisitos es que si estás usando Node.js el SDK de Node.js, debes correr, debes tener un servidor de Node.js con la versión 0.10 o superior. Okey entonces bueno, sà estamos trabajando con eso o también aquà vienen los pasos para configurar un servidor Java con SDK. Recuerda que con Heroku también podemos generar un servidor Java. Entonces dice el primer paso, añade Firebase a tu aplicación, okey, añade tu aplicación a Firebase. Entonces dice que crees un proyecto en Firebase, nosotros you hemos hecho este primer paso, y que posteriormente vayas a tu aplicación y entonces des clic en el icono de ajustes y selecciones permissions. Bien, entonces voy a entrar a mi aplicación, aquà está mi aplicación Petagram, este es el icono que me está haciendo referencia y dice que entre a permisos. Una vez estando ahà dice que seleccione Service account, y cree una nueva cuenta service account. Okey, entonces inmediatamente voy a seleccionar cuentas de servicio, esta que está aquÃ. Yo podrÃa crear una nueva cuenta de servicio, vamos a crearla, vamos a ponerle aquà Petagram server, petagramserver, y dice que una vez entra el nombre de tu servicio y opcionalmente puedes personalizar el ID que se genera automáticamente en el nombre. Selecciona Furnish a new private key y Key type as JSON. Entonces dice selecciona suministrar una clave privada en formato JSON, lo seleccionamos, y además dice que también necesitamos habilitar Google Apps Domains, okey bien este habilitar la delegación de dominios de Google Apps, le vamos a dar crear. Listo you ha creado nuestro proyecto y dice que clic en create. Cuando crees tu proyecto en la cuenta de servicio un archivo de JSON contendrá tus credenciales de service account, bien se descargará para ti, etcétera. Bien entonces este archivo, este archivo es nuestro archivo clave, muy bien, este no debemos perderlo de vista, es más lo voy a integrar a mi proyecto, lo voy a integrar aquà a mi proyecto, debe estar en la raÃz, okey. Está en index.js y aquà debe estar también mi Petagram, y vamos a abrirlo, vamos a ver qué tiene, automáticamente con su blind text. you aquà nos aparece, y bueno aparecen muchas cosas que son básicamente las credenciales para poder estarnos conectando con Firebase, okey. Para que este servidor que está construido con Node.js se conecte a Firebase. Entonces aquà están todas las credenciales o todas las claves, los accesos necesarios para poder estar realizando esto, le voy a dar aquà cerrar. Y algo que debemos también ver, que eso no está aquÃ, es que en IAM debemos tener el acceso como editor y bueno automáticamente aquà you nos ha dado de alta automáticamente. Pero algunas veces probablemente no estés apareciendo aquÃ, entonces asegúrate que estás aquà porque si no estás como editor, aunque descargues el archivo, lo tengas correctamente configurado, etcétera no vas a poder conectar tu aplicación, tu web service a Firebase, okey. Entonces necesitamos esto que está aquÃ. Bien entonces todo esto lo encontramos, aquà está en guides, get started, en server, y Bueno dice add Firebase to your app. Ahora dice añade el SDK, okey esto es lo que necesitamos, necesitamos comenzar a instalar. Pero nosotros tenemos, recuerda que tenemos nuestro comando especial para instalar, lo voy a quedar hasta aquà y simplemente agregamos lo demás que nos está pidiendo. Necesitamos instalar Firebase, la librerÃa Firebase, le vamos a dar ahà listo, npm install --save --exact, le voy a dar enter, listo you integrado Firebase a nuestro proyecto de forma local. Eso quiere decir que you puedo comenzar a utilizar una instancia de Firebase. Entonces esto lo voy a copiar y lo voy a incluir a mi proyecto, okey. Voy a seguir aquà en el index, voy a ir hasta la parte de arriba y después de esta configuración de body parser vamos a meter aquà a nuestro proyecto la conexión con nuestra base de datos Firebase, okey. Entonces you tenemos aquà la instancia, veamos que más dice la documentación, dice inicializa el SDK, okey. Entonces tenemos que inicializar con los datos que nos ha dado. Vamos a copiar y pegar esta información firebase.initializeApp. Primero nos pide el service account, que el service account va a responder al JSON que descargamos hace un momento, que precisamente es este Petagram 65, cuando dimos de alta, cuando dimos de alta nuestra aplicación por acá en la parte de permisos, okey. Entonces vamos a poner esto, justamente ese mismo nombre, debemos colocar el path en donde se encuentra ubicado ese archivo, en nuestro caso ese archivo está en la raÃz, entonces simplemente lo coloco asÃ, y después nos solicita la base de datos, la URL de la base de datos. Okey, esa URL la podemos obtener aquà en nuestro panel de Firebase, en data base, y esta URL es la URL que nos está solicitando, vamos a copiarla, esa es la URL de la base de datos y la vamos a pegar aquÃ. Perfecto, you está configurada nuestra base de datos, vamos a quitarle el diagonal, no debe tener diagonal y una vez que you está configurada nuestra base de datos you estamos apuntando nuestras credenciales al archivo JSON que descargamos. Entonces you podemos comenzar a en nuestro método post, la idea es que una vez que recibimos ese token, ese token lo almacenemos en esta base de datos, okey. Entonces voy aquà a colocar este request.body.token, lo voy a poner más bien en una variable, le voy a poner token asà y voy a inicializar var db igual a mi objeto Firebase que más arriba instancié y le voy a decir que traiga la base de datos. Okey, vamos a la documentación a ver qué más nos está diciendo. Dice que una vez que puedes también si no tienes tu objeto, tu archivo JSON, puedes insertar los datos por separado, okey. Entonces vamos ahora aquà donde dice Realtime Database y vamos a ver la parte de server. Y aquà viene pues toda la documentación, dice que you pongas tú, instancies tu objeto, inicialices tu aplicación y entonces you puedes comenzar a apuntar o a obtener una referencia del path que quieres trabajar en la base de datos. Nosotros vamos hasta aquÃ. Hasta ahorita hemos pasado, hemos pasado esa base de datos a este objeto db. Ese objeto db. Y entonces vamos a continuación a obtener el path, pathTokenDevices. Lo que en realidad estamos obteniendo es la referencia de la base datos. Le voy a poner cómo quiero que empiece a crear las claves y le voy a decir que empiece a crear las claves a partir de token-device y le voy a decir que lo que, como van a ser varios elementos, pues entonces se está ejecutando acciones tipo push. Las acciones tipo push van a estar insertando un dato asignándole un identificador único, posteriormente otro dato le asigna otro identificador. Es decir, nos va a permitir estar insertando varios datos. Si yo lo dejara sin push, lo que estará haciendo es, estará insertando un registro, y después, al venir el otro, estará sobreescribiendo el mismo registro. Entonces yo con push estoy diciéndole que asigne identificadores a cada registro que estoy colocando. Okey, entonces ahora, con mi objeto que lo voy a dejar en tokenDevices. Mi objeto tokenDevices vamos a invocar su método set, y vamos a definir qué cosas o la estructura de la data que queremos insertar en este path, ¿okey? Le voy a poner que la estructura de la data es que únicamente venga token: mi variable token, ¿okey? Inserte el token que estoy recibiendo. Si yo quisiera añadir otro campo, pues bueno, aquà puedo poner coma y esto se está comportando como un objeto JSON. Recuerda que nuestra base de datos realmente en esta data, en esta estructura JSON, como la definamos, asà se estará definiendo nuestra base de datos. No estamos trabajando nada de tablas ni nada parecido como my SQL o SQL sever, etcétera. Esto es una sintaxis muy similar a la que Mongodb maneja. Okey. Una vez que you tengo esto, estoy ejecutando push, pues vamos a probar nuestra aplicación, que una vez que yo esté recibiendo las peticiones, entonces esas, una vez que yo esté recibiendo el token, ese token lo extraigo del body, inicializo mi objeto database, defino un path, y a ese path le inserto la variable token, ¿okey? Finalmente lo que voy a estar aquà respondiendo, puedo decir, bueno, ahorita trabajamos la respuesta. Vamos a añadir cambios y vamos a ahora el commit que vamos a trabajar aquà es conexión a base de datos con Firebase, ¿okey? Eso es lo que vamos a trabajar. Vamos a copiar este comando y lo pegaré aquÃ, listo. Mandar un enter. Vamos a decirle que nos abra heroku open/android. Vamos a estarle diciendo asà todo el tiempo, que nos abra este path para ver por lo menos algo bien perfecto. Todo, si nos abre esta página, quiere decir que hasta el momento todo salió bien, todas mis instancias se crearon correctamente. Si alguna, si sucede algo, te aparece algún error aquÃ, bueno, puedes echar mano del heroku logs espacio --tail para observar. Ahà se va a estar registrando qué librerÃa o qué instancia no se está ejecutando bien. Entonces no te olvides de instalar todas las librerÃas adicionales porque eso es uno de los errores más comunes, que estamos tratando de instanciar de una librerÃa que no, que no vive en nuestro proyecto. Perfecto. you tenemos, vamos a abrir nuestro Postman, vamos a probar una petición y ahora lo que esperamos hacer es que una vez el dato que mandemos aquà en el parámetro token será un dato que se estará insertando en nuestra base de datos. Y lo mejor de esto es que esto se maneja en tiempo real, como su nombre lo dice, es una base de datos en real time. Entonces aquà estaremos viendo cómo es que funciona esto. Bien, vamos a, tenemos you configurado nuestro path. No olvides /token device. En body colocamos los parámetros. Yo voy a poner 12345, ¿okey? Bien. Vamos a darle send. ¡Y listo! Acabamos de ver que la base de datos se está insertando a partir del path que nosotros definimos aquÃ, aquÃ. A partir del path que nosotros definimos en nuestra referencia db. Si colocas token-device será el path que comience a abrir y con nuestro método push, estarÃamos diciendo que asigne identificadores únicos para que, a medida que esté recibiendo cada petición, esté insertando registros diferentes. Y entonces la forma de la data es a partir de la llave token, y entonces está mostrando el token, está asignando el token que está recibiendo a partir del método post. Vamos a insertar otro más, vamos a insertar otro más para que veamos esto cómo se va comportando. Vamos a insertar ahora del 0 al 5. Listo, se ha creado otro dato. Y asà puedo seguirme pasando jugando con esto y todo esto se está almacenando en Firebase. Y entonces puedo estar trabajando con una base de datos en tiempo real.