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.

  • 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 las reglas de seguridad de Firebase:

    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 se habilita la API en el Administrador de API de Cloud.

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