La base de données Firebase Realtime stocke et synchronise les données à l'aide d'une base de données cloud NoSQL. Les données sont synchronisées sur tous les clients en temps réel et restent disponibles lorsque votre application est hors ligne.
Avant que tu commences
Avant de pouvoir utiliser Firebase Realtime Database , vous devez :
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 SDK Firebase C++ à votre projet C++.
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 Base de données en temps réel de la console Firebase . Vous serez invité à sélectionner un projet Firebase existant. Suivez le workflow de création de base de données.
Sélectionnez un mode de démarrage pour vos règles de sécurité Firebase :
- Mode d'essai
Idéal pour démarrer avec les bibliothèques clientes mobiles et Web, mais permet à quiconque de lire et d'écraser vos données. Après le test, assurez-vous de consulter la section Comprendre les règles de la base de données en temps réel Firebase .
Pour démarrer avec le SDK Web, Apple ou Android, sélectionnez le mode test.
- 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.
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 dansus-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(pour les bases de données de tous les autres emplacements)
Cliquez sur Terminé .
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 à la base de données en temps réel, vous devrez créer et initialiser le firebase::App
.
Incluez le fichier d'en-tête pour firebase::App
:
#include "firebase/app.h"
Android
Créez le firebase::App
, en passant l'environnement JNI et une référence jobject
à l'activité Java comme arguments :
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
Créez le firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Accédez à la classe firebase::database::Database
Le firebase::database::Database
est le point d'entrée du SDK C++ Firebase Realtime Database.
::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 la sauvegarde et la récupération des données.
Configuration de l'accès restreint
Si vous ne souhaitez pas utiliser l'accès public, vous pouvez ajouter l'authentification Firebase à votre application pour contrôler l'accès à la base de données.
Prochaines étapes
Découvrez comment structurer les données pour la base de données en temps réel.
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 console Google Cloud.
- Surveillez le tableau de bord d'utilisation et de facturation dans la console Firebase pour obtenir une image globale de l'utilisation de votre projet sur plusieurs services Firebase. Vous pouvez également visiter le tableau de bord Utilisation de la base de données en temps réel pour obtenir des informations d'utilisation plus détaillées.
- Consultez la liste de contrôle de lancement de Firebase .
Problèmes connus
- Sur les plates-formes de bureau (Windows, Mac, Linux), le SDK Firebase C++ 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 le bureau, sinon vos écouteurs échoueront.
- La version de workflow de bureau de Realtime Database ne prend pas en charge la connexion hors ligne ou la persistance.