開始使用 C++ 適用的 Firebase 即時資料庫

Firebase 即時資料庫使用 NoSQL 雲端資料庫儲存及同步處理資料。資料會即時在所有用戶端之間同步處理,即使應用程式離線,仍可使用。

事前準備

使用 Firebase Realtime Database 前,請先完成下列事項:

  • 註冊 C++ 專案,並設定使用 Firebase。

    如果 C++ 專案已使用 Firebase,代表已註冊並設定 Firebase。

  • 將 Firebase C++ SDK 新增至 C++ 專案。

請注意,將 Firebase 新增至 C++ 專案時,您必須在 Firebase 控制台和開啟的 C++ 專案中執行工作 (例如從控制台下載 Firebase 設定檔,然後移至 C++ 專案)。

建立資料庫

  1. 在 Firebase 控制台中,依序前往「Databases & Storage」> 「即時資料庫」

  2. 按一下 [Create database] (建立資料庫)。

  3. 選取 Firebase Security Rules 的起始模式:

    測試模式

    適合用於開始使用行動和網頁用戶端程式庫,但允許任何人讀取及覆寫您的資料。測試完成後,請務必詳閱「瞭解 Firebase 即時資料庫規則」一節。

    如要開始使用網頁、Apple 或 Android SDK,請選取測試模式。

    鎖定模式

    拒絕所有來自行動和網頁用戶端的讀寫要求。 通過驗證的應用程式伺服器仍可存取資料庫。

  4. 選擇資料庫的位置。

    視資料庫的位置而定,新資料庫的網址會採用下列其中一種形式:

    • DATABASE_NAME.firebaseio.com (適用於 us-central1 中的資料庫)

    • DATABASE_NAME.REGION.firebasedatabase.app (適用於所有其他位置的資料庫)

  5. 按一下「完成」。

啟用 Realtime Database 時,系統也會在 Cloud API Manager 中啟用 API。

建立及初始化 firebase::App

您必須先建立並初始化 firebase::App,才能存取 Realtime Database。

加入 firebase::App 的標頭檔案:

#include "firebase/app.h"

Android

建立 firebase::App,並將 JNI 環境和 Java 活動的 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 Realtime Database C++ SDK 的進入點。

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

如果您選擇在規則中使用公開存取權,可以繼續閱讀儲存及擷取資料的章節。

設定限制存取權

如果不想使用公開存取權,可以在應用程式中新增 Firebase Authentication,控管資料庫存取權。

後續步驟

已知問題

  • 在電腦平台 (Windows、Mac、Linux) 上,Firebase C++ SDK 會使用 REST 存取資料庫。因此,您必須在電腦上使用 Query::OrderByChild() 宣告使用的索引,否則事件監聽器會失敗。
  • Realtime Database 的電腦工作流程版本不支援離線或持續性。