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 swój projekt C++ i skonfiguruj go pod kątem korzystania z Firebase.
Jeśli Twój projekt C++ korzysta już z Firebase, oznacza to, że jest już zarejestrowany i skonfigurowany dla Firebase.
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
Otwórz sekcję Realtime Database w konsoli Firebase. Pojawi się prośba o wybranie istniejącego projektu Firebase. Wykonaj proces tworzenia bazy danych.
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 zakończeniu testów zapoznaj się z sekcją Omówienie reguł bazy danych czasu rzeczywistego Firebase.
Aby zacząć korzystać z pakietu SDK do przeglądarki, Apple lub Androida, 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.
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 dodomenachDATABASE_NAME.firebaseio.com
us-central1
) (w przypadku baz danych w innych lokalizacjach)DATABASE_NAME.REGION.firebasedatabase.app
Kliknij Gotowe.
Włączenie Realtime Database powoduje również włączenie interfejsu API w Menedżerze interfejsów API w chmurze.
Utwórz i zainicjuj 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 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 Class
firebase::database::Database
jest punktem wejścia do 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 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 uruchomienia aplikacji:
- W konsoli Google Cloud skonfiguruj alerty dotyczące budżetu dla projektu.
- Monitoruj wykorzystanie i płatności panel w konsoli Firebase, aby mieć ogólny obraz wykorzystania projektu w wielu usługach Firebase. Możesz też odwiedzić Realtime Database panel użytkowania, aby uzyskać bardziej szczegółowe informacje o wykorzystaniu.
- Zapoznaj się z listą kontrolną uruchamiania Firebase.
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 dla komputerów stacjonarnych nie obsługuje pracy offline ani trwałości.