Baza danych czasu rzeczywistego Firebase przechowuje i synchronizuje dane za pomocą chmurowej bazy danych NoSQL. 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:
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 Firebase.
Dodaj Firebase C++ SDK do projektu C++.
Pamiętaj, że dodanie Firebase do projektu C++ wymaga wykonania zadań zarówno w Firebasekonsoli, jak i w otwartym projekcie C++ (np. pobierasz z konsoli pliki konfiguracyjne Firebase, a następnie przenosisz je do projektu C++).
Tworzenie bazy danych
Przejdź do sekcji Realtime Database w Firebasekonsoli. Pojawi się prośba o wybranie dotychczasowego projektu Firebase. Postępuj zgodnie z procesem tworzenia bazy danych.
Wybierz tryb początkowy dla Firebase Security Rules:
- Tryb testowy
Dobre rozwiązanie na początek pracy z bibliotekami klienta mobilnego i internetowego, ale umożliwia każdemu odczytywanie i zastępowanie danych. Po przetestowaniu zapoznaj się z sekcją Omówienie reguł Bazy danych czasu rzeczywistego Firebase.
Aby rozpocząć korzystanie z pakietu SDK na potrzeby internetu, urządzeń Apple lub Androida, wybierz testmode.
- 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 wDATABASE_NAME.firebaseio.com
us-central1
) (w przypadku baz danych w innych lokalizacjach)DATABASE_NAME.REGION.firebasedatabase.app
Kliknij Gotowe.
Gdy włączysz Realtime Database, interfejs API zostanie też włączony w Cloud API Manager.
Tworzenie i inicjowanie obiektu firebase::App
Zanim uzyskasz dostęp do Realtime Database, musisz utworzyć i zainicjować firebase::App
.
Dołącz plik nagłówkowy dla firebase::App
:
#include "firebase/app.h"
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);
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 pakietu Firebase Realtime Database C++ SDK.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Jeśli zdecydujesz się używać publicznego dostępu do reguł, 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 strukturyzować dane na potrzeby Realtime Database.
Przygotuj się do uruchomienia aplikacji:
- Skonfiguruj alerty dotyczące budżetu w projekcie w konsoli Google Cloud.
- Monitoruj panel Wykorzystanie i rozliczenia w Firebase konsoli, aby uzyskać ogólny obraz wykorzystania usług Firebase w projekcie. Szczegółowe informacje o wykorzystaniu znajdziesz też w Realtime Database panelu Wykorzystanie.
- 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. Dlatego musisz zadeklarować używane indeksy za pomocą funkcji Query::OrderByChild() na komputerze, w przeciwnym razie odbiorniki nie będą działać.
- Wersja Realtime Database na komputery nie obsługuje trybu offline ani trwałości.