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.
Avant de commencer
Avant de pouvoir utiliser Firebase Realtime Database, vous devez effectuer les opérations suivantes :
Enregistrez votre projet C++ et configurez-le pour utiliser Firebase.
Si votre projet C++ utilise déjà Firebase, il est déjà enregistré et configuré pour Firebase.
Ajoutez le Firebase C++ SDK à votre projet C++.
Notez que l'ajout de Firebase à votre projet C++ implique des tâches à la fois dans la Firebase console 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 Realtime Database section de la Firebase console. Vous serez invité à sélectionner un projet Firebase existant. Suivez le processus de création de la base de données.
Sélectionnez un mode de démarrage pour vos 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, assurez-vous de consulter la section Comprendre les règles de Firebase Realtime Database.
Pour commencer avec le SDK Web, Apple ou Android, sélectionnez testmode.
- Mode verrouillé
Refuse toutes les lectures et écritures des clients mobiles et Web. Vos serveurs d'applications authentifiés peuvent toujours accéder à votre base de données.
Choisissez un emplacement pour la base de données.
Selon 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 :
(pour les bases de données dansDATABASE_NAME.firebaseio.comus-central1) (pour les bases de données dans tous les autres emplacements)DATABASE_NAME.REGION.firebasedatabase.app
Cliquez sur OK.
Lorsque vous activez Realtime Database, cela active également l'API dans le Cloud API Manager.
Créer et initialiser firebase::App
Avant de pouvoir accéder à Realtime Database, vous devez créer et initialiser le
firebase::App.
Incluez le fichier d'en-tête pour firebase::App :
#include "firebase/app.h"
Android
Créez firebase::App, en transmettant l'environnement JNI et une référence jobject à l'activité Java en tant qu'arguments :
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
Créez firebase::App :
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Accéder à la classe firebase::database::Database
Le firebase::database::Database
est le point d'entrée du Firebase Realtime Database C++ SDK.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
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 un accès restreint
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.
Étapes suivantes
Découvrez comment structurer les données pour Realtime Database.
Faites évoluer vos données sur plusieurs instances de base de données.
Préparez-vous à lancer votre application :
- Configurez des alertes budgétaires pour votre projet dans la Google Cloud console.
- Surveillez le tableau de bord _Utilisation et facturation_ dans la console Firebase pour obtenir une vue d'ensemble de l'utilisation de votre projet sur plusieurs services Firebase. Vous pouvez également consulter le Realtime Database tableau de bord Utilisation pour obtenir des informations plus détaillées sur l'utilisation.
- Consultez la checklist de lancement de Firebase.
Problèmes connus
- Sur les plates-formes de bureau (Windows, Mac, Linux), le Firebase C++ SDK utilise REST pour accéder à votre base de données. Pour cette raison, vous devez déclarer les index que vous utilisez avec Query::OrderByChild() sur un ordinateur de bureau, sinon vos écouteurs échoueront.
- La version de workflow de bureau de Realtime Database ne prend pas en charge le mode hors connexion ou la persistance.