Wprowadzenie do Bazy danych czasu rzeczywistego Firebase dla C++

Baza danych czasu rzeczywistego Firebase przechowuje i synchronizuje dane za pomocą bazy danych NoSQL w chmurze. Dane są synchronizowane na wszystkich klientach w czasie rzeczywistym i pozostają dostępne, gdy aplikacja przejdzie w tryb offline.

Zanim zaczniesz

Zanim zaczniesz korzystać z Firebase Realtime Database, musisz:

  • Zarejestruj projekt C++ i skonfiguruj go pod kątem używania Firebase.

    Jeśli Twój projekt w C++ korzysta już z Firebase, jest już zarejestrowany i skonfigurowany pod kątem tej usługi.

  • Dodaj pakiet SDK Firebase C++ do projektu C++.

Dodawanie Firebase do projektu C++ wymaga wykonania zadań zarówno w konsoliFirebase, jak i w otwartym projekcie C++ (np. pobieranie plików konfiguracji Firebase z konsoli i przenoszenie ich do projektu C++).

Tworzenie bazy danych

  1. Otwórz sekcję Realtime Database w konsoli Firebase. Pojawi się prośba o wybranie dotychczasowego projektu Firebase. Wykonaj proces tworzenia bazy danych.

  2. Wybierz tryb początkowy dla Firebase Security Rules:

    Tryb testowy

    Jest to dobre rozwiązanie na początek korzystania z bibliotek klienta mobilnego i internetowego, ale pozwala każdemu odczytywać i zapisywać Twoje dane. Po przetestowaniu zapoznaj się z sekcją Omówienie reguł Firebase Realtime Database.

    Aby zacząć korzystać z pakietu SDK w wersji internetowej, Apple lub Android, wybierz tryb testowy.

    Tryb blokady

    Odrzuca wszystkie odczyty i zapisy z klientów mobilnych i internetowych. Twoje uwierzytelnione serwery aplikacji nadal mają dostęp do Twojej bazy danych.

  3. Wybierz lokalizację bazy danych.

    W zależności od lokalizacji bazy danych adres URL nowej bazy danych będzie miał jedną z tych form:

    • DATABASE_NAME.firebaseio.com (na potrzeby baz danych w regionie us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app(w przypadku baz danych w innych lokalizacjach)

  4. Kliknij Gotowe.

Gdy włączysz Realtime Database, spowoduje to również włączenie interfejsu API w menedżerze interfejsów API Cloud.

Tworzenie i inicjowanie firebase::App

Aby uzyskać dostęp do narzędzia Realtime Database, musisz utworzyć i zainicjować firebase::App.

Dołącz plik nagłówka dla firebase::App:

#include "firebase/app.h"

Android

Utwórz obiekt firebase::App, przekazując jako argumenty środowisko JNI i odniesienie do aktywności w języku Java:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS+

Utwórz firebase::App:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Dostęp do klasy firebase::database::Database

firebase::database::Database jest punktem wejścia dla pakietu SDK C++ Firebase Realtime Database.

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

Jeśli zdecydujesz się używać dostępu publicznego w przypadku reguł, przejdź do sekcji dotyczących zapisywania i pobierania danych.

Konfigurowanie ograniczonego dostępu

Jeśli nie chcesz korzystać z dostępu publicznego, możesz dodać do aplikacji Firebase Authentication, aby kontrolować dostęp do bazy danych.

Następne kroki

Znane problemy

  • Na platformach komputerowych (Windows, Mac, Linux) pakiet SDK Firebase C++ używa protokołu REST do uzyskiwania dostępu do bazy danych. Dlatego musisz zadeklarować indeksy, których używasz, za pomocą Query::OrderByChild() na komputerze. W przeciwnym razie odbiorniki nie będą działać.
  • Wersja Realtime Database przepływu pracy na komputery nie obsługuje trybu offline ani trwałości.