開始使用適用於 C++ 的 Firebase 實時數據庫

Firebase 實時數據庫使用 NoSQL 雲數據庫存儲和同步數據。數據在所有客戶端之間實時同步,並在您的應用程序離線時保持可用。

在你開始之前

在使用Firebase Realtime Database之前,您需要:

  • 註冊您的 C++ 項目並將其配置為使用 Firebase。

    如果您的 C++ 項目已經使用 Firebase,那麼它已經針對 Firebase 進行了註冊和配置。

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

請注意,將 Firebase 添加到您的 C++ 項目涉及Firebase 控制台和您打開的 C++ 項目中的任務(例如,您從控制台下載 Firebase 配置文件,然後將它們移動到您的 C++ 項目中)。

創建數據庫

  1. 導航到Firebase 控制台實時數據庫部分。系統會提示您選擇一個現有的 Firebase 項目。遵循數據庫創建工作流程。

  2. 為您的 Firebase 安全規則選擇啟動模式:

    測試模式

    適合開始使用移動和 Web 客戶端庫,但允許任何人讀取和覆蓋您的數據。測試後,請務必查看了解 Firebase 實時數據庫規則部分。

    要開始使用 Web、Apple 或 Android SDK,請選擇測試模式。

    鎖定模式

    拒絕來自移動和 Web 客戶端的所有讀取和寫入。經過身份驗證的應用程序服務器仍然可以訪問您的數據庫。

  3. 選擇數據庫的位置。

    根據數據庫的位置,新數據庫的 URL 將採用以下形式之一:

    • DATABASE_NAME .firebaseio.com (對於us-central1中的數據庫)

    • DATABASE_NAME . REGION .firebasedatabase.app (對於所有其他位置的數據庫)

  4. 單擊完成

當您啟用實時數據庫時,它還會啟用Cloud API Manager中的 API。

創建並初始化 firebase::App

在訪問實時數據庫之前,您需要創建並初始化firebase::App

包括firebase::App的頭文件:

#include "firebase/app.h"

安卓

創建firebase::App ,將 JNI 環境和對 Java Activity 的jobject引用作為參數傳遞:

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() 一起使用的索引,否則您的偵聽器將失敗。
  • 實時數據庫的桌面工作流版本不支持脫機或持久性。