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 die Firebase-Echtzeitdatenbank 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 geöffneten C++-Projekt umfasst (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. Folgen Sie dem Workflow zur Datenbankerstellung.
Wählen Sie einen Startmodus für Ihre Firebase-Sicherheitsregeln aus:
- Testmodus
Gut für den Einstieg in die mobilen und Web-Client-Bibliotheken, aber jeder kann Ihre Daten lesen und überschreiben. Lesen Sie nach dem Testen unbedingt den Abschnitt Grundlegendes zu Firebase-Echtzeitdatenbankregeln .
Um mit dem Web-, Apple- oder Android-SDK zu beginnen, wählen Sie den Testmodus aus.
- 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 eines der folgenden Formate:
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 Realtime Database 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
hinzu:
#include "firebase/app.h"
Android
Erstellen Sie die 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 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 entschieden haben, den öffentlichen Zugriff für Ihre Regeln zu verwenden, können Sie mit den Abschnitten zum Speichern und Abrufen von Daten fortfahren.
Beschränkten Zugriff einrichten
Wenn Sie keinen öffentlichen Zugriff verwenden 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 die 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 sich einen Überblick über die Nutzung Ihres Projekts über mehrere Firebase-Dienste hinweg zu verschaffen. Sie können auch das Dashboard zur Nutzung der Echtzeitdatenbank besuchen, um detailliertere Nutzungsinformationen zu erhalten.
- Überprüfen Sie die Firebase-Startcheckliste .
Bekannte Probleme
- Auf Desktop-Plattformen (Windows, Mac, Linux) verwendet das Firebase C++ SDK REST für den Zugriff auf Ihre Datenbank. Aus diesem Grund müssen Sie die Indizes deklarieren, die Sie mit Query::OrderByChild() auf dem Desktop verwenden, oder Ihre Listener werden fehlschlagen.
- Die Desktop-Workflow-Version von Realtime Database unterstützt weder Offline noch Persistenz.