База данных Firebase Realtime хранит и синхронизирует данные с помощью облачной базы данных 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» .
Чтобы начать работу с веб-SDK, 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:
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 для рабочего процесса рабочего стола не поддерживает автономный режим или постоянство.