Die Firebase Realtime Database speichert und synchronisiert Daten mithilfe einer NoSQL-Cloud-Datenbank. Die Daten werden in Echtzeit über alle Clients hinweg synchronisiert und bleiben verfügbar, wenn Ihre App offline geht.
Bevor Sie beginnen
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 Firebase bereits verwendet, ist es bereits für Firebase registriert und konfiguriert.
Fügen Sie das Firebase C++ SDK zu Ihrem C++-Projekt hinzu.
Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem offenen C++-Projekt erfordert (Sie laden beispielsweise Firebase-Konfigurationsdateien von der Konsole herunter und verschieben sie dann in Ihr C++-Projekt).
Erstellen Sie eine Datenbank
Navigieren Sie zum Abschnitt „Echtzeitdatenbank“ der Firebase-Konsole . Sie werden aufgefordert, ein vorhandenes Firebase-Projekt auszuwählen. Befolgen Sie den Workflow zur Datenbankerstellung.
Wählen Sie einen Startmodus für Ihre Firebase-Sicherheitsregeln:
- Testmodus
Gut für den Einstieg in die Mobil- und Web-Client-Bibliotheken, ermöglicht aber jedem, Ihre Daten zu lesen und zu überschreiben. Lesen Sie nach dem Testen unbedingt den Abschnitt „Verstehen der Firebase-Echtzeitdatenbankregeln“ .
Um mit dem Web-, Apple- oder Android-SDK zu beginnen, wählen Sie den Testmodus.
- Gesperrter Modus
Verweigert alle Lese- und Schreibvorgänge von Mobil- und Web-Clients. Ihre authentifizierten Anwendungsserver können weiterhin auf Ihre Datenbank zugreifen.
Wählen Sie einen Speicherort für die Datenbank.
Abhängig vom Speicherort der Datenbank hat die URL für die neue Datenbank eine der folgenden Formen:
DATABASE_NAME .firebaseio.com
(für Datenbanken inus-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(für Datenbanken an allen anderen Standorten)
Klicken Sie auf Fertig .
Wenn Sie die Echtzeitdatenbank aktivieren, wird auch die API im Cloud API Manager aktiviert.
Firebase::App erstellen und initialisieren
Bevor Sie auf die Echtzeitdatenbank zugreifen können, müssen Sie die firebase::App
erstellen und initialisieren.
Fügen Sie die Header-Datei für firebase::App
ein:
#include "firebase/app.h"
Android
Erstellen Sie die firebase::App
und übergeben Sie dabei 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 die firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Greifen Sie auf die Firebase::database::Database-Klasse zu
Die 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 für 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 nutzen möchten, können Sie Ihrer App die Firebase-Authentifizierung hinzufügen, um den Zugriff auf die Datenbank zu steuern.
Nächste Schritte
Erfahren Sie, wie Sie Daten für eine Echtzeitdatenbank strukturieren .
Skalieren Sie Ihre Daten über mehrere Datenbankinstanzen hinweg.
Bereiten Sie den Start Ihrer App vor:
- Richten Sie Budgetbenachrichtigungen für Ihr Projekt in der Google Cloud Console ein.
- Überwachen Sie das Nutzungs- und Abrechnungs- Dashboard in der Firebase-Konsole, um einen Gesamtüberblick über die Nutzung Ihres Projekts über mehrere Firebase-Dienste hinweg zu erhalten. Detailliertere Nutzungsinformationen finden Sie auch im Dashboard „Realtime Database Usage“ .
- Sehen Sie sich die Checkliste für den Firebase-Start an.
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 die Indizes, die Sie mit Query::OrderByChild() verwenden, auf dem Desktop deklarieren , sonst schlagen Ihre Listener fehl.
- Die Desktop-Workflow-Version von Realtime Database unterstützt weder Offline noch Persistenz.