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 Ihr C++-Projekt bereits Firebase verwendet, ist es bereits registriert und für Firebase konfiguriert.
Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.
Das Hinzufügen von Firebase zu Ihrem C++-Projekt umfasst Aufgaben in der Firebase Console und in Ihrem geöffneten C++-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Console herunter und verschieben sie dann in Ihr C++-Projekt.
Datenbank erstellen
Rufen Sie in der Firebase console den Realtime Database section auf. Sie werden aufgefordert, ein vorhandenes Firebase-Projekt auszuwählen. Folgen Sie dem Workflow zur Datenbankerstellung.
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. Prüfen Sie nach dem Test den Abschnitt Firebase Realtime Database-Regeln verstehen.
Wenn Sie mit dem Web-, Apple- oder Android SDK beginnen möchten, wählen Sie den Testmodus aus.
- Sperrmodus
Lehnt alle Lese- und Schreibvorgänge von Mobil- und Webclients ab. Ihre authentifizierten Anwendungsserver können weiterhin auf Ihre Datenbank zugreifen.
Wählen Sie einen Standort für die Datenbank aus.
Je nach Standort der Datenbank hat die URL für die neue Datenbank eines der folgenden Formate:
(für Datenbanken inDATABASE_NAME.firebaseio.comus-central1) (für Datenbanken an allen anderen Standorten)DATABASE_NAME.REGION.firebasedatabase.app
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 die Realtime Database zugreifen können, müssen Sie die
firebase::App erstellen und initialisieren.
Fügen Sie die Headerdatei für firebase::App ein:
#include "firebase/app.h"
Android
Erstellen Sie firebase::App und übergeben Sie die JNI-Umgebung und eine jobject-Referenz an 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
Der 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 öffentlichen Zugriff für Ihre Regeln ausgewählt haben, können Sie mit den Abschnitten zum Speichern und Abrufen von Daten fortfahren.
Eingeschränkten Zugriff einrichten
Wenn Sie keinen öffentlichen Zugriff verwenden möchten, können Sie Ihrer App Firebase Authentication hinzufügen, um den Zugriff auf die Datenbank zu steuern.
Nächste Schritte
Informationen zum Strukturieren von Daten für Realtime Database.
Auf die Veröffentlichung der App vorbereiten:
- Richten Sie Budget benachrichtigungen für Ihr Projekt in der Google Cloud Konsole ein.
- Das Nutzung und Abrechnung Dashboard in der Firebase Console im Blick behalten, um einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten zu erhalten. Weitere Informationen zur Nutzung finden Sie auch im Realtime Database Nutzung Dashboard der Realtime Database.
- Checkliste für die Veröffentlichung von Firebase-Apps prüfen
Bekannte Probleme
- Auf Desktop-Plattformen (Windows, Mac, Linux) greift das Firebase C++ SDK über REST auf Ihre Datenbank zu. Aus diesem Grund müssen Sie die Indexe deklarieren, die Sie verwenden mit `Query::OrderByChild()` auf dem Desktop, da sonst Ihre Listener fehlschlagen.
- Die Desktop-Workflowversion von Realtime Database unterstützt keine Offline- oder Persistenzfunktionen.