Premiers pas avec Firebase Realtime Database pour C++
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Firebase Realtime Database stocke et synchronise les données à l'aide d'une base de données cloud NoSQL. Les données sont synchronisées en temps réel sur tous les clients et restent disponibles lorsque votre application est hors connexion.
Notez que l'ajout de Firebase à votre projet C++ implique des tâches à la fois dans la console Firebase et dans votre projet C++ ouvert (par exemple, vous téléchargez les fichiers de configuration Firebase depuis la console, puis vous les déplacez dans votre projet C++).
Créer une base de données
Accédez à la section Realtime Database de la console Firebase.
Vous serez invité à sélectionner un projet Firebase existant.
Suivez le workflow de création de la base de données.
Sélectionnez un mode de départ pour votre Firebase Security Rules :
Mode test
Convient pour se familiariser avec les bibliothèques clientes mobiles et Web, mais permet à tout le monde de lire et d'écraser les données. Lorsque vous aurez terminé les tests, passez
en revue la section Comprendre les règles Firebase Realtime Database.
Pour commencer à utiliser le SDK Web, Apple ou Android, sélectionnez "testmode".
Mode verrouillé
Refuse tous les accès en lecture et en écriture des clients mobiles et Web.
Vos serveurs d'application authentifiés peuvent toujours accéder à votre base de données.
Choisissez un emplacement pour la base de données.
En fonction de l'emplacement de la base de données, l'URL de la nouvelle base de données se présentera sous l'une des formes suivantes :
DATABASE_NAME.firebaseio.com (pour les bases de données dans us-central1)
DATABASE_NAME.REGION.firebasedatabase.app
(pour les bases de données dans tous les autres emplacements)
Cliquez sur OK.
Lorsque vous activez Realtime Database, cela active également l'API dans Cloud API Manager.
Créer et initialiser firebase::App
Avant de pouvoir accéder à Realtime Database, vous devez créer et initialiser firebase::App.
Incluez le fichier d'en-tête pour firebase::App :
#include"firebase/app.h"
Android
Créez le firebase::App en transmettant l'environnement JNI et une référence jobject à l'activité Java en tant qu'arguments :
Si vous avez choisi d'utiliser l'accès public pour vos règles, vous pouvez passer aux sections sur l'enregistrement et la récupération des données.
Configurer l'accès limité
Si vous ne souhaitez pas utiliser l'accès public, vous pouvez ajouter Firebase Authentication à votre application pour contrôler l'accès à la base de données.
Sur les plates-formes de bureau (Windows, Mac, Linux), le SDK FirebaseC++ utilise REST pour accéder à votre base de données. Par conséquent, vous devez déclarer les index que vous utilisez avec Query::OrderByChild() sur ordinateur, sinon vos écouteurs ne fonctionneront pas.
La version du workflow Realtime Database pour ordinateur n'est pas compatible avec le mode hors connexion ni la persistance.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[null,null,["Dernière mise à jour le 2025/08/29 (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."]]