前往主控台

Firebase 实时数据库使用入门 (C++)

Firebase 实时数据库使用 NoSQL 云端数据库存储和同步数据。数据会实时同步到所有客户端,而且即便您的应用处于离线状态,数据也仍然可供使用。

准备工作

在使用 Firebase 实时数据库之前,您需要:

  • 注册 C++ 项目并将其配置为使用 Firebase。

    如果您的 C++ 项目已经在使用 Firebase,则说明该项目已经注册并且针对 Firebase 进行了配置。

  • 在项目级层 build.gradle 文件中,请务必在您的 buildscriptallprojects 部分添加 Google 的 Maven 代码库。

  • Firebase C++ SDK 添加到您的 C++ 项目。

请注意,将 Firebase 添加到 C++ 项目需要在 Firebase 控制台中和打开的 C++ 项目中执行若干任务(例如,从控制台下载 Firebase 配置文件,然后将配置文件移动到 C++ 项目中)。

设置公共访问

实时数据库提供了声明性规则语言,可用于定义应该如何设计数据结构、如何将数据编入索引以及何时可以读取和写入数据。默认情况下,对数据库的读写权限是有限制的,只有通过身份验证的用户才能读写数据。要在不设置身份验证的情况下开始使用数据库,您可以将您的规则配置为允许公共访问。这会使得您的数据库向所有人开放,包括不使用您的应用的用户,因此在设置身份验证时,请务必重新限制对您的数据库的访问权限。

创建并初始化 firebase::App

您需要先创建并初始化 firebase::App,然后才能访问实时数据库。

添加 firebase::App 的头文件:

#include "firebase/app.h"

Android

创建 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 实时数据库 C++ SDK 的入口点。

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

如果您已为您的规则选择开放公共访问权限,则可转至有关保存和检索数据的部分。

设置访问限制。

如果不想开放公共访问权限,您可在应用中添加 Firebase 身份验证来控制对数据库的访问权限。

后续步骤

已知问题

  • 在桌面平台(Windows、Mac、Linux)上,Firebase C++ SDK 使用 REST 访问您的数据库。因此,您必须在桌面上使用 Query::OrderByChild() 声明您使用的索引,否则您的侦听器将会失败。
  • 桌面工作流版实时数据库不支持离线或持久化。