Erste Schritte mit Firebase Realtime Database für C++

Die Firebase Realtime Database speichert und synchronisiert Daten mithilfe einer NoSQL-Cloud-Datenbank. Daten werden in Echtzeit über alle Clients synchronisiert und bleiben verfügbar, wenn die App offline geht.

Vorbereitung

Bevor Sie Firebase Realtime Database verwenden können, müssen Sie Folgendes tun:

  • Registrieren Sie Ihr C++-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    Wenn in Ihrem C++-Projekt bereits Firebase verwendet wird, ist es bereits für Firebase registriert und konfiguriert.

  • Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt sowohl Aufgaben in der Firebase-Konsole als auch in Ihrem offenen C++-Projekt erfordert (z. B. laden Sie Firebase-Konfigurationsdateien von der Console herunter und verschieben sie dann in Ihr C++-Projekt).

Datenbank erstellen

  1. Rufen Sie in der Firebase-Konsole den Abschnitt Realtime Database auf. Sie werden aufgefordert, ein vorhandenes Firebase-Projekt auszuwählen. Folgen Sie dem Workflow zur Datenbankerstellung.

  2. Wählen Sie einen Startmodus für Ihre Firebase Security Rules aus:

    Testmodus

    Gut für die ersten Schritte mit den Mobil- und Web-Clientbibliotheken, allerdings können Ihre Daten von beliebigen Personen gelesen und überschrieben werden. Lesen Sie nach dem Testen den Abschnitt Firebase Realtime Database-Regeln verstehen.

    Wählen Sie „Testmodus“ aus, um mit dem Web-, Apple- oder Android-SDK zu beginnen.

    Sperrmodus

    Alle Lese- und Schreibvorgänge über Mobil- und Webclients werden abgelehnt. Ihre authentifizierten Anwendungsserver können weiterhin auf Ihre Datenbank zugreifen.

  3. Wählen Sie einen Speicherort für die Datenbank aus.

    Je nach Speicherort der Datenbank hat die URL für die neue Datenbank eines der folgenden Formate:

    • DATABASE_NAME.firebaseio.com (für Datenbanken in us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (für Datenbanken an allen anderen Speicherorten)

  4. Klicken Sie auf Fertig.

Wenn Sie Realtime Database aktivieren, wird auch die API im Cloud API Manager aktiviert.

firebase::App erstellen und initialisieren

Bevor Sie auf Realtime Database zugreifen können, müssen Sie die firebase::App erstellen und initialisieren.

Fügen Sie die Headerdatei für firebase::App hinzu:

#include "firebase/app.h"

Android

Erstellen Sie das firebase::App und übergeben Sie die JNI-Umgebung und einen jobject-Verweis auf die Java-Aktivität als Argumente:

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

iOS+

Erstellen Sie firebase::App:

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

Auf die Klasse „firebase::database::Database“ zugreifen

firebase::database::Database ist der Einstiegspunkt für das Firebase Realtime Database C++ SDK.

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

Wenn Sie sich für den öffentlichen Zugriff auf Ihre Regeln entschieden haben, können Sie mit den Abschnitten zum Speichern und Abrufen von Daten fortfahren.

Eingeschränkten Zugriff einrichten

Wenn Sie den öffentlichen Zugriff nicht verwenden möchten, können Sie Ihrer App Firebase Authentication hinzufügen, um den Zugriff auf die Datenbank zu steuern.

Nächste Schritte

Bekannte Probleme

  • Auf Desktop-Plattformen (Windows, Mac, Linux) verwendet das Firebase C++ SDK REST, um auf Ihre Datenbank zuzugreifen. Aus diesem Grund müssen Sie auf dem Computer mit Query::OrderByChild() die verwendeten Indexe deklarieren. Andernfalls schlagen die Listener fehl.
  • Die Desktop-Workflowversion von Realtime Database unterstützt Offline- und Persistenzfunktionen nicht.