Premiers pas avec Firebase Realtime Database pour C++

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:

  • 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 C++ Firebase à 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 des fichiers de configuration Firebase à partir de la console, puis les déplacez dans votre projet C++).

Créer une base de données

  1. Accédez à la section Realtime Database de la console Firebase. Vous êtes alors invité à sélectionner un projet Firebase existant. Suivez le workflow de création de base de données.

  2. Sélectionnez un mode de démarrage 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 de Firebase Realtime Database.

    Pour commencer à utiliser 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.

  3. 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 prend 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 situées dans tous les autres emplacements)

  4. 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 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 le sous-réseau firebase::App :

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

Accéder à la classe firebase::database::Database

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 un 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 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

Problèmes connus

  • Sur les plates-formes de bureau (Windows, Mac, Linux), le SDK C++ Firebase 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 échoueront.
  • La version de workflow pour ordinateur de bureau de Realtime Database n'est pas compatible avec le mode hors connexion ni la persistance.