Ir a la consola

Comienza a usar Firebase Realtime Database para C++

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

Completa los siguientes pasos antes de usar Firebase Realtime Database:

  • Registra tu proyecto de C++ y configúralo para usar Firebase.

    Si tu proyecto de C++ ya usa Firebase, significa que ya está registrado y configurado para esa plataforma.

  • En tu archivo build.gradle de nivel de proyecto, asegúrate de incluir el repositorio Maven de Google en las secciones buildscript y allprojects.

  • Agrega el SDK de Firebase C++ a tu proyecto de C++.

Ten en cuenta que agregar Firebase al proyecto de C++ implica realizar tareas en Firebase console y en tu proyecto abierto de C++ (por ejemplo, descargar archivos de configuración de Firebase desde la consola y transferirlos al proyecto de C++).

Configura el acceso público

Realtime Database proporciona un lenguaje de reglas declarativas que te permite definir cómo se deben estructurar tus datos, cómo se deben indexar y cuándo se pueden leer y escribir. Según la configuración predeterminada, el acceso de lectura y escritura a tu base de datos es restringido, por lo que solo los usuarios autenticados pueden leer o escribir datos. Para comenzar sin configurar Authentication, puedes definir tus reglas de acceso público. Esto hace que tu base de datos esté abierta para todo el mundo, incluso los usuarios que no usan tu app, así que asegúrate de volver a restringirla cuando configures la autenticación.

Crea e inicializa firebase::App

Para poder acceder a Realtime Database, deberás crear y también 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 para el 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 el guardado y la recuperación de 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.

Pasos siguientes

Problemas conocidos

  • En las plataformas de escritorio (Windows, Mac y Linux), el SDK de C++ de Firebase usa REST para acceder a la base de datos, por lo que debes declarar los índices que usas con Query::OrderByChild() en estas plataformas. De lo contrario, los agentes de escucha no funcionarán.
  • La versión del flujo de trabajo en computadoras de escritorio de Realtime Database no admite el funcionamiento sin conexión o la persistencia.