Baza danych czasu rzeczywistego Firebase przechowuje i synchronizuje dane za pomocą bazy danych NoSQL w chmurze. Dane są synchronizowane między wszystkimi klientami w czasie rzeczywistym i pozostają dostępne, gdy aplikacja przechodzi w tryb offline.
Zanim zaczniesz
Zanim zaczniesz korzystać z Firebase Realtime Database, musisz:
Zarejestruj projekt C++ i skonfiguruj go tak, aby korzystał z Firebase.
Jeśli Twój projekt C++ korzysta już z Firebase, jest już zarejestrowany i skonfigurowany pod kątem Firebase.
Dodaj pakiet Firebase C++ SDK do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie C++ (np. pobierasz pliki konfiguracji Firebase z konsoli, a następnie przenosisz je do projektu C++).
Tworzenie bazy danych
W konsoli Firebase kliknij Bazy danych i pamięć masowa > Baza danych czasu rzeczywistego.
Kliknij Utwórz bazę danych.
Wybierz tryb początkowy dla urządzenia Firebase Security Rules:
- Tryb testowy
Dobry sposób na rozpoczęcie korzystania z bibliotek klienta mobilnego i internetowego, ale umożliwia każdemu odczytywanie i zastępowanie Twoich danych. Po zakończeniu testów zapoznaj się z sekcją Reguły Bazy danych czasu rzeczywistego Firebase.
Aby rozpocząć korzystanie z pakietu SDK dla aplikacji internetowych, na urządzenia Apple lub z Android SDK, wybierz tryb testowy.
- Tryb blokady
Odrzucanie wszystkich odczytów i zapisów z klientów mobilnych i 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 form:
(w przypadku baz danych w:DATABASE_NAME.firebaseio.comus-central1) (w przypadku baz danych we wszystkich innych lokalizacjach)DATABASE_NAME.REGION.firebasedatabase.app
Kliknij Gotowe.
Gdy włączysz Realtime Database, interfejs API zostanie też włączony 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łówka dla firebase::App:
#include "firebase/app.h"
Android
Utwórz obiekt firebase::App, przekazując środowisko JNI i odwołanie jobject do aktywności 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 pakietu SDK Firebase Realtime Database w języku C++.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Jeśli zdecydujesz się na użycie dostępu publicznego w regułach, możesz przejść do sekcji dotyczących zapisywania i pobierania danych.
Konfigurowanie dostępu ograniczonego
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
Dowiedz się, jak uporządkować dane w przypadku Realtime Database.
Przygotuj się do opublikowania aplikacji:
- Skonfiguruj alerty dotyczące budżetu dla projektu w konsoli Google Cloud.
- Monitoruj panel Korzystanie i rozliczenia w konsoli Firebase, aby uzyskać ogólny obraz wykorzystania projektu w różnych usługach Firebase. Możesz też odwiedzić panel Użycie w Realtime Database, aby uzyskać bardziej szczegółowe informacje o użyciu.
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.
Znane problemy
- Na platformach komputerowych (Windows, Mac, Linux) pakiet SDK Firebase C++ używa interfejsu REST do uzyskiwania dostępu do bazy danych. Z tego powodu musisz zadeklarować indeksy, których używasz z Query::OrderByChild() na komputerze, bo inaczej detektory nie będą działać.
- Wersja Realtime Database na komputery nie obsługuje trybu offline ani trwałości.