Die Firebase-Echtzeitdatenbank speichert und synchronisiert Daten mithilfe einer NoSQL-Cloud-Datenbank. Die Daten werden in Echtzeit auf allen Clients synchronisiert und bleiben verfügbar, wenn Ihre App offline geschaltet wird.
Bevor Sie beginnen
Bevor Sie die Firebase-Echtzeitdatenbank verwenden können , müssen Sie:
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 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:
- Testmodus
Gut für den Einstieg in die mobilen und Web-Client-Bibliotheken, ermöglicht es jedoch jedem, Ihre Daten zu lesen und zu überschreiben. Lesen Sie nach dem Testen unbedingt den Abschnitt Grundlegendes zu Firebase-Echtzeitdatenbankregeln .
Wählen Sie den Testmodus, um mit dem Web, iOS oder Android SDK zu beginnen.
- Gesperrter Modus
Verweigert alle Lese- und Schreibvorgänge von Mobil- und Webclients. Ihre authentifizierten Anwendungsserver können weiterhin auf Ihre Datenbank zugreifen.
Wählen Sie eine Region für die Datenbank. Abhängig von Ihrer Wahl der Region hat der Datenbank-Namespace die Form
<databaseName>.firebaseio.com
oder<databaseName>.<region>.firebasedatabase.app
. Weitere Informationen finden Sie unter Auswählen von Standorten für Ihr Projekt .Klicken Sie auf Fertig .
Wenn Sie die Echtzeitdatenbank aktivieren, wird auch die API im Cloud-API-Manager aktiviert.
Erstellen und Initialisieren Sie firebase :: App
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
:
#include "firebase/app.h"
Android
Erstellen Sie die firebase::App
, indem Sie die JNI-Umgebung und einen jobject
auf die Java-Aktivität als Argumente übergeben:
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 Klasse firebase :: database :: Database 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 die Verwendung des öffentlichen Zugriffs 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 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 .
Bereiten Sie den Start Ihrer App vor:
- Richten Sie Budgetbenachrichtigungen für Ihr Projekt in der Google Cloud Console ein.
- Überwachen Sie das Dashboard für Nutzung und Abrechnung in der Firebase-Konsole, um ein Gesamtbild der Nutzung Ihres Projekts für mehrere Firebase-Dienste zu erhalten. Sie können auch den Besuch Realtime Database Usage - Dashboard für detailliertere Nutzungsinformationen.
- Überprüfen Sie die Checkliste für den Firebase-Start .
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 deklarieren, die Sie mit Query :: OrderByChild () auf dem Desktop verwenden. Andernfalls schlagen Ihre Listener fehl.
- Die Desktop-Workflow-Version von Realtime Database unterstützt weder Offline noch Persistenz.