適用於 C++ 的 Firebase 即時資料庫入門

Firebase 即時資料庫使用 NoSQL 雲端資料庫儲存和同步資料。資料在所有用戶端之間即時同步,並且在您的應用程式離線時仍然可用。

在你開始之前

在使用Firebase 即時資料庫之前,您需要:

  • 註冊您的 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() 一起使用的索引,否則您的偵聽器將失敗。
  • 即時資料庫的桌面工作流程版本不支援離線或持久性。