Comienza a usar Firebase Realtime Database para C++
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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.
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 bueno para comenzar con las bibliotecas cliente móviles y web, pero permite que todos lean tus datos y los reemplacen. 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.
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 deRealtime Database para obtener información de uso más detallada.
En las plataformas de escritorio (Windows, Mac y Linux), el SDK de FirebaseC++ 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.
[null,null,["Última actualización: 2025-08-16 (UTC)"],[],[],null,["\u003cbr /\u003e\n\nThe Firebase Realtime Database stores and synchronizes data using a NoSQL cloud\ndatabase. Data is synchronized across all clients in realtime, and remains\navailable when your app goes offline.\n\nBefore You Begin\n\nBefore you can use\n[Firebase Realtime Database](/docs/reference/unity/namespace/firebase/database),\nyou need to:\n\n- Register your C++ project and configure it to use Firebase.\n\n If your C++ project already uses Firebase, then it's already registered and\n configured for Firebase.\n- Add the [Firebase C++ SDK](/download/cpp) to your C++ project.\n\n| **Find detailed instructions for these initial\n| setup tasks in\n| [Add Firebase to your C++\n| project](/docs/cpp/setup#note-select-platform).**\n\nNote that adding Firebase to your C++ project involves tasks both in the\n[Firebase console](//console.firebase.google.com/) and in your open C++ project (for example, you download\nFirebase config files from the console, then move them into your C++ project).\n\nCreate a Database\n\n1. Navigate to the **Realtime Database** section of the\n [Firebase console](https://console.firebase.google.com/project/_/database).\n You'll be prompted to select an existing Firebase project.\n Follow the database creation workflow.\n\n2. Select a starting mode for your Firebase Security Rules:\n\n Test mode\n\n : Good for getting started with the mobile and web client libraries,\n but allows anyone to read and overwrite your data. After testing, **make\n sure to review the [Understand Firebase Realtime Database Rules](/docs/database/security)\n section.**\n\n :\n | **Note:** If you create a database in Test mode and make no changes to the default world-readable and world-writeable Rules within a trial period, you will be alerted by email, then your database rules will deny all requests. Note the expiration date during the Firebase console setup flow.\n\n : To get started with the web, Apple, or Android SDK, select testmode.\n\n Locked mode\n\n : Denies all reads and writes from mobile and web clients.\n Your authenticated application servers can still access your database.\n\n3. Choose a location for the database.\n\n Depending on the\n [location of the database](/docs/projects/locations#rtdb-locations), the\n URL for the new database will be in one of the following forms:\n - \u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.firebaseio.com` (for\n databases in `us-central1`)\n\n - \u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.`\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e`.firebasedatabase.app`\n (for databases in all other locations)\n\n4. Click **Done**.\n\nWhen you enable Realtime Database, it also enables the API in the\n[Cloud API Manager](https://console.cloud.google.com/projectselector/apis/api/firebasedatabase.googleapis.com/overview).\n\nCreate and Initialize firebase::App\n\nBefore you can access the Realtime Database, you'll need to create and initialize the\n[`firebase::App`](/docs/reference/cpp/class/firebase/app).\n| You only need to initialize firebase::App once, no matter how many Firebase C++ features you use.\n\nInclude the header file for `firebase::App`: \n\n```c++\n#include \"firebase/app.h\"\n``` \n\nAndroid\n\n\nCreate the `firebase::App`, passing the JNI environment and a `jobject`\nreference to the Java Activity as arguments: \n\n```c++\napp = ::firebase::App::Create(::firebase::AppOptions(\"APPLICATION NAME\"), jni_env, activity);\n```\n\niOS+\n\n\nCreate the `firebase::App`: \n\n```c++\napp = ::firebase::App::Create(::firebase::AppOptions(\"APPLICATION NAME\"));\n```\n\nAccess the firebase::database::Database Class\n\nThe [`firebase::database::Database`](/docs/reference/cpp/class/firebase/database/database)\nis the entry point for the Firebase Realtime Database C++ SDK. \n\n```c++\n::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);\n```\n\nIf you have chosen to use public access for your rules, you can proceed to the\nsections on saving and retrieving data.\n\nSetting up Restricted Access\n\nIf you do not want to use public access you can add Firebase Authentication to your\napp to control access to the database.\n\nNext Steps\n\n- Learn how to [structure data](/docs/database/cpp/structure-data) for Realtime Database.\n\n- [Scale your data across multiple database\n instances.](/docs/database/usage/sharding)\n\n- [Save data.](/docs/database/cpp/save-data)\n\n- [Retrieve data.](/docs/database/cpp/retrieve-data)\n\n- [View your database in the\n Firebase console.](//console.firebase.google.com/project/_/database/data)\n\n- Prepare to launch your app:\n\n\n - Set up [budget\n alerts](/docs/projects/billing/avoid-surprise-bills#set-up-budget-alert-emails) for your project in the Google Cloud console.\n - Monitor the [*Usage and billing*\n dashboard](//console.firebase.google.com/project/_/usage) in the Firebase console to get an overall picture of your project's usage across multiple Firebase services. You can also visit the [Realtime Database *Usage*\n dashboard](//console.firebase.google.com/project/_/database/usage) for more detailed usage information.\n - Review the [Firebase launch checklist](/support/guides/launch-checklist).\n\nKnown Issues\n\n- On desktop platforms (Windows, Mac, Linux), the Firebase C++ SDK uses REST to access your database. Because of this, you must [declare the indexes you use](https://firebase.google.com/docs/database/security/#section-defining-indexes) with Query::OrderByChild() on desktop or your listeners will fail.\n- The desktop workflow version of Realtime Database does not support offline or persistence."]]