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

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

  1. 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.

  2. 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.

  3. 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:

    • DATABASE_NAME.firebaseio.com (para bases de datos en us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (para bases de datos en todas las demás ubicaciones)

  4. 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

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.