Comenzar con Firebase Realtime Database para C++

Firebase Realtime Database almacena y sincroniza datos mediante una base de datos en la nube NoSQL. Los datos se sincronizan entre todos los clientes en tiempo real y permanecen disponibles cuando su aplicación se desconecta.

Antes de que empieces

Antes de poder utilizar Firebase Realtime Database , debes:

  • Registre su proyecto C++ y configúrelo para usar Firebase.

    Si su proyecto de C++ ya usa Firebase, entonces ya está registrado y configurado para Firebase.

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

Tenga en cuenta que agregar Firebase a su proyecto de C++ implica tareas tanto en Firebase console como en su proyecto de C++ abierto (por ejemplo, descarga archivos de configuración de Firebase desde la consola y luego los mueve a su proyecto de C++).

Crear una base de datos

  1. Navegue a la sección Base de datos en tiempo real de Firebase console . Se te pedirá que selecciones un proyecto de Firebase existente. Siga el flujo de trabajo de creación de la base de datos.

  2. Seleccione un modo de inicio para sus reglas de seguridad de Firebase:

    Modo de prueba

    Bueno para comenzar con las bibliotecas de clientes web y móviles, pero permite que cualquiera lea y sobrescriba sus datos. Después de la prueba, asegúrese de revisar la sección Comprender las reglas de la base de datos en tiempo real de Firebase .

    Para comenzar con el SDK web, Apple o Android, seleccione el modo de prueba.

    Modo bloqueado

    Niega todas las lecturas y escrituras desde clientes web y móviles. Sus servidores de aplicaciones autenticados aún pueden acceder a su base de datos.

  3. Elija una ubicación para la base de datos.

    Dependiendo de la ubicación de la base de datos , la URL de la nueva base de datos tendrá una de las siguientes formas:

    • 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. Haga clic en Listo.

Cuando habilita Realtime Database, también habilita la API en Cloud API Manager .

Crear e inicializar firebase::App

Antes de poder acceder a la base de datos en tiempo real, deberá crear e inicializar firebase::App .

Incluya el archivo de encabezado para firebase::App :

#include "firebase/app.h"

Androide

Cree firebase::App y pase el entorno JNI y una referencia jobject a la actividad Java como argumentos:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS+

Crea la firebase::App :

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Acceda a la clase firebase::database::Database

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 ha elegido utilizar el acceso público para sus reglas, puede pasar a las secciones sobre cómo guardar y recuperar datos.

Configurar el acceso restringido

Si no desea utilizar el acceso público, puede agregar Firebase Authentication a su aplicación para controlar el acceso a la base de datos.

Próximos pasos

Problemas conocidos

  • En plataformas de escritorio (Windows, Mac, Linux), el SDK de Firebase C++ usa REST para acceder a su base de datos. Debido a esto, debe declarar los índices que usa con Query::OrderByChild() en el escritorio o sus oyentes fallarán.
  • La versión de flujo de trabajo de escritorio de Realtime Database no admite conexión sin conexión ni persistencia.