Начало работы с базой данных Firebase Realtime для C++

База данных Firebase Realtime хранит и синхронизирует данные с помощью облачной базы данных NoSQL. Данные синхронизируются между всеми клиентами в режиме реального времени и остаются доступными, когда ваше приложение отключается от сети.

Прежде чем вы начнете

Прежде чем вы сможете использовать базу данных Firebase Realtime , вам необходимо:

  • Зарегистрируйте свой проект C++ и настройте его для использования Firebase.

    Если ваш проект C++ уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.

  • Добавьте Firebase C++ SDK в свой проект C++.

Обратите внимание, что добавление Firebase в ваш проект C++ включает в себя задачи как в консоли Firebase , так и в вашем открытом проекте C++ (например, вы загружаете файлы конфигурации Firebase из консоли, а затем перемещаете их в свой проект C++).

Создать базу данных

  1. Перейдите в раздел «База данных реального времени» консоли Firebase . Вам будет предложено выбрать существующий проект Firebase. Следуйте рабочему процессу создания базы данных.

  2. Выберите начальный режим для правил безопасности Firebase:

    Режим тестирования

    Подходит для начала работы с мобильными и веб-клиентскими библиотеками, но позволяет любому читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом «Понимание правил базы данных Firebase Realtime» .

    Чтобы начать работу с веб-SDK, Apple или Android SDK, выберите тестовый режим.

    Заблокированный режим

    Запрещает все операции чтения и записи со стороны мобильных и веб-клиентов. Ваши аутентифицированные серверы приложений по-прежнему смогут получить доступ к вашей базе данных.

  3. Выберите место для базы данных.

    В зависимости от расположения базы данных URL-адрес новой базы данных будет иметь одну из следующих форм:

    • DATABASE_NAME .firebaseio.com (для баз данных в us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (для баз данных во всех других местах)

  4. Нажмите Готово .

Когда вы включаете базу данных реального времени, она также включает API в Cloud API Manager .

Создать и инициализировать Firebase::App

Прежде чем вы сможете получить доступ к базе данных реального времени, вам необходимо создать и инициализировать 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 в свое приложение, чтобы контролировать доступ к базе данных.

Следующие шаги

Известные вопросы

  • На настольных платформах (Windows, Mac, Linux) Firebase C++ SDK использует REST для доступа к вашей базе данных. По этой причине вы должны объявить индексы, которые вы используете с Query::OrderByChild() на рабочем столе, иначе ваши прослушиватели потерпят неудачу.
  • Версия базы данных Realtime для рабочего процесса рабочего стола не поддерживает автономный режим или постоянство.