База данных Firebase Realtime Database хранит и синхронизирует данные, используя облачную базу данных NoSQL. Данные синхронизируются между всеми клиентами в режиме реального времени и остаются доступными, даже когда приложение переходит в автономный режим.
Прежде чем начать
Прежде чем использовать Firebase Realtime Database , вам необходимо:
- Зарегистрируйте свой проект C++ и настройте его для использования Firebase. - Если ваш проект C++ уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase. 
- Добавьте Firebase C++ SDK в свой проект C++. 
Обратите внимание, что добавление Firebase в ваш проект C++ включает в себя задачи как в консоли Firebase , так и в вашем открытом проекте C++ (например, вы загружаете файлы конфигурации Firebase из консоли, а затем перемещаете их в свой проект C++).
Создать базу данных
- Перейдите в раздел Realtime Database консоли Firebase . Вам будет предложено выбрать существующий проект Firebase. Следуйте инструкциям по созданию базы данных. 
- Выберите начальный режим для Firebase Security Rules : - Тестовый режим
- Подходит для начала работы с библиотеками мобильных и веб-клиентов, но позволяет любому читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом «Понимание правил базы данных Firebase Realtime» . 
- Чтобы начать работу с веб-, Apple или Android SDK, выберите тестовый режим. 
- Заблокированный режим
- Запрещает все операции чтения и записи с мобильных и веб-клиентов. Ваши аутентифицированные серверы приложений по-прежнему смогут получать доступ к вашей базе данных. 
 
- Выберите место для базы данных. - В зависимости от местоположения базы данных URL-адрес новой базы данных будет иметь одну из следующих форм: - DATABASE_NAME .firebaseio.com(для баз данных в- us-central1)
- DATABASE_NAME . REGION .firebasedatabase.app(для баз данных во всех остальных местах)
 
- Нажмите Готово . 
При включении Realtime Database также включается API в Cloud API Manager .
Создание и инициализация firebase::App
 Прежде чем получить доступ к Realtime Database , вам необходимо создать и инициализировать firebase::App .
 Включите заголовочный файл для firebase::App :
#include "firebase/app.h"
Андроид
 Создайте firebase::App , передав среду JNI и ссылку на jobject в Java Activity в качестве аргументов:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
 Создайте firebase::App :
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Доступ к классу firebase::database::Database
 firebase::database::Database — это точка входа для Firebase Realtime Database C++ SDK.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Если вы решили использовать публичный доступ к своим правилам, вы можете перейти к разделам по сохранению и извлечению данных.
Настройка ограниченного доступа
Если вы не хотите использовать публичный доступ, вы можете добавить в свое приложение Firebase Authentication для управления доступом к базе данных.
Следующие шаги
- Узнайте, как структурировать данные для Realtime Database . 
- Масштабируйте данные между несколькими экземплярами базы данных. 
- Подготовьтесь к запуску вашего приложения: - Настройте оповещения о бюджете для вашего проекта в консоли Google Cloud .
- Отслеживайте панель управления «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования ресурсов вашего проекта в различных сервисах Firebase. Вы также можете посетить панель управления «Использование Realtime Database для получения более подробной информации об использовании.
- Ознакомьтесь с контрольным списком запуска Firebase .
 
Известные проблемы
- На настольных платформах (Windows, Mac, Linux) Firebase C++ SDK использует REST для доступа к базе данных. Поэтому на настольных платформах необходимо объявить индексы, используемые с помощью Query::OrderByChild(), иначе ваши слушатели не будут работать.
- Версия Realtime Database для настольных компьютеров не поддерживает автономный режим или сохранение данных.