Firebase Realtime Database almacena y sincroniza datos con una base de datos NoSQL en la nube. Los datos se sincronizan con todos los clientes en tiempo real y se mantienen disponibles cuando tu app está sin conexión.
Antes de comenzar
Antes de poder usar Firebase Realtime Database, tendrás que hacer lo siguiente:
Registra tu proyecto de C++ y configúralo para que use Firebase.
Si tu proyecto de C++ ya usa Firebase, significa que ya está registrado y configurado para esa plataforma.
Agrega el SDK de Firebase C++ a tu proyecto de C++.
Ten en cuenta que agregar Firebase a un proyecto de C++ implica realizar tareas en Firebase console y en el proyecto abierto de C++ (por ejemplo, descargar archivos de configuración de Firebase desde la consola y transferirlos al proyecto de C++).
Crea una base de datos
Ve a la sección Realtime Database de Firebase console. Se te pedirá que selecciones un proyecto de Firebase existente. Sigue el flujo de trabajo para crear la base de datos.
Selecciona un modo de inicio para tu Firebase Security Rules:
- Modo de prueba
Es el modo recomendado si recién comienzas a usar las bibliotecas cliente para dispositivos móviles y la Web, pero permite que todos lean y reemplacen tus datos. Después de que realices las pruebas, asegúrate de revisar la sección Comprende las reglas de seguridad de Firebase Realtime Database.
Si quieres comenzar a usar los SDK de Apple, Android o la Web, selecciona el modo de prueba.
- Modo bloqueado
Rechaza todas las operaciones de lectura y escritura de clientes móviles y web. Tus servidores de aplicaciones autenticados aún pueden acceder a tu base de datos.
Elige una ubicación para la base de datos.
Según la ubicación de la base de datos, la URL de la base de datos nueva tendrá uno de los siguientes formatos:
(para bases de datos enDATABASE_NAME.firebaseio.com
us-central1
) (para bases de datos en todas las demás ubicaciones)DATABASE_NAME.REGION.firebasedatabase.app
Haz clic en Listo.
Cuando habilitas Realtime Database, también habilitas la API en el Administrador de APIs de Cloud.
Crea e inicializa firebase::App
Para poder acceder a Realtime Database, deberás crear y, además, inicializar
firebase::App
.
Incluye el archivo de encabezado para firebase::App
:
#include "firebase/app.h"
Android
Para crear firebase::App
, pasa el entorno de JNI y una referencia jobject
a la actividad de Java como argumentos:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
Crea firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Accede a la clase firebase::database::Database
La clase firebase::database::Database
es el punto de entrada del SDK de C++ de Firebase Realtime Database.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Si decidiste usar el acceso público para tus reglas, puedes proceder a las secciones sobre cómo guardar y recuperar datos.
Configura el acceso restringido
Si no deseas usar el acceso público, puedes agregar Firebase Authentication a tu app para controlar el acceso a la base de datos.
Próximos pasos
Obtén información para estructurar datos para Realtime Database.
Prepárate para iniciar tu app:
- Establece alertas de presupuesto para tu proyecto en la consola de Google Cloud.
- Supervisa el panel Uso y facturación en la consola de Firebase para obtener un panorama general del uso de tu proyecto en varios servicios de Firebase. También puedes visitar el panel Uso de Realtime Database para obtener información de uso más detallada.
- Revisa la Lista de tareas para el lanzamiento de Firebase.
Problemas conocidos
- En las plataformas de escritorio (Windows, Mac y Linux), el SDK de Firebase C++ usa REST para acceder a la base de datos. Debido a esto, debes declarar los índices que usas con Query::OrderByChild() en estas plataformas. De lo contrario, los objetos de escucha no funcionarán.
- La versión del flujo de trabajo de Realtime Database para computadoras de escritorio no admite el funcionamiento sin conexión ni la persistencia.