Baza danych czasu rzeczywistego Firebase przechowuje i synchronizuje dane za pomocą bazy danych NoSQL w chmurze. Dane są synchronizowane w czasie rzeczywistym na wszystkich klientach i pozostają dostępne, gdy aplikacja przechodzi w tryb offline.
Zanim zaczniesz
Zanim zaczniesz korzystać z Firebase Realtime Database, musisz:
zarejestrować projekt C++ i skonfigurować go pod kątem używania Firebase.
Jeśli projekt C++ korzysta już z Firebase, jest on już zarejestrowany i skonfigurowany pod kątem Firebase.
dodać pakiet Firebase C++ SDK do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w Firebase konsoli Firebase, jak i w otwartym projekcie C++ (np. pobierasz pliki konfiguracyjne Firebase z konsoli, a następnie przenosisz je do projektu C++).
Tworzenie bazy danych
W konsoli Firebase otwórz Bazy danych i miejsce na dane > Baza danych czasu rzeczywistego.
Kliknij Utwórz bazę danych.
Wybierz tryb początkowy dla Firebase Security Rules:
- Tryb testowy
Dobry sposób na rozpoczęcie pracy z bibliotekami klienta mobilnego i internetowego, ale umożliwia każdemu odczytywanie i nadpisywanie danych. Po testach zapoznaj się z sekcją Reguły Bazy danych czasu rzeczywistego Firebase.
Aby rozpocząć korzystanie z pakietu SDK na potrzeby internetu, Apple lub Androida, wybierz tryb testowy.
- Tryb blokady
Odrzuca wszystkie odczyty i zapisy klientów mobilnych oraz internetowych. Uwierzytelnione serwery aplikacji nadal mogą uzyskiwać dostęp do bazy danych.
Wybierz lokalizację bazy danych.
W zależności od lokalizacji bazy danych, adres URL nowej bazy danych będzie miał jedną z tych postaci:
(w przypadku baz danych w lokalizacjiDATABASE_NAME.firebaseio.comus-central1) (w przypadku baz danych we wszystkich innych lokalizacjach)DATABASE_NAME.REGION.firebasedatabase.app
Kliknij Gotowe.
Gdy włączysz Realtime Database, włączy się też interfejs API w Menedżerze interfejsów Cloud API.
Tworzenie i inicjowanie firebase::App
Zanim uzyskasz dostęp do Realtime Database, musisz utworzyć i zainicjować
firebase::App.
Dołącz plik nagłówkowy firebase::App:
#include "firebase/app.h"
Android
Utwórz firebase::App, przekazując środowisko JNI i odwołanie jobject do działania Java jako argumenty:
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
to punkt wejścia do Firebase Realtime Database C++ SDK.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Jeśli zdecydujesz się na używanie dostępu publicznego do reguł, możesz przejść do sekcji dotyczących zapisywania i pobierania danych.
Konfigurowanie dostępu ograniczonego
Jeśli nie chcesz używać dostępu publicznego, możesz dodać Firebase Authentication do swojej aplikacji, aby kontrolować dostęp do bazy danych.
Następne kroki
Dowiedz się, jak strukturyzować dane w Realtime Database.
Przygotuj się do opublikowania aplikacji:
- Skonfiguruj budżet alertów dla projektu w Google Cloud konsoli.
- Monitoruj panel Wykorzystanie i płatności w konsoli Firebase aby uzyskać ogólny obraz wykorzystania projektu w różnych usługach Firebase. Aby uzyskać bardziej szczegółowe informacje o wykorzystaniu, możesz też otworzyć panel Realtime Database Wykorzystanie Bazy danych czasu rzeczywistego.
- Zapoznaj się z listą kontrolną dotyczącą publikowania Firebase.
Znane problemy
- Na platformach komputerowych (Windows, Mac, Linux) pakiet Firebase C++ SDK używa interfejsu REST do uzyskiwania dostępu do bazy danych. Z tego powodu musisz zadeklarować indeksy używane z Query::OrderByChild() na komputerze, w przeciwnym razie Twoje odbiorniki nie będą działać.
- Wersja Bazy danych czasu rzeczywistego na komputery nie obsługuje trybu offline ani trwałości.Realtime Database