Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

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

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

  1. Navigieren Sie zum Abschnitt Echtzeitdatenbank der Firebase-Konsole . 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-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.

  3. 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 .

  4. 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 dafür entschieden haben, den öffentlichen Zugriff für Ihre Regeln zu verwenden, 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

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.