Firebase 即時資料庫會使用 NoSQL 雲端資料庫儲存及同步處理資料。系統會即時同步處理所有用戶端的資料,且會在應用程式離線時持續提供服務。
事前準備
如要使用 Firebase Realtime Database,您必須先完成下列步驟:
註冊 C++ 專案並設定使用 Firebase。
如果您的 C++ 專案已使用 Firebase,則表示已為 Firebase 註冊及設定。
將 Firebase C++ SDK 新增至 C++ 專案。
請注意,將 Firebase 新增至 C++ 專案時,必須同時在 Firebase 主控台和您開啟的 C++ 專案中執行任務 (例如,從主控台下載 Firebase 設定檔,然後將其移至 C++ 專案)。
建立資料庫
前往 Firebase 控制台的 Realtime Database 專區。系統會提示您選取現有的 Firebase 專案。按照資料庫建立工作流程操作。
為 Firebase Security Rules 選取起始模式:
- 測試模式
適合開始使用行動和網路用戶端程式庫,但允許任何人讀取及覆寫您的資料。測試完成後,請務必詳閱「瞭解 Firebase 即時資料庫規則」一節。
如要開始使用網路、Apple 或 Android SDK,請選取 testmode。
- 鎖定模式
拒絕行動和網路用戶端的所有讀寫要求。已驗證的應用程式伺服器仍可存取資料庫。
選擇資料庫的位置。
視資料庫的位置而定,新資料庫的網址會採用下列任一形式:
(適用於DATABASE_NAME.firebaseio.com
us-central1
中的資料庫) (適用於所有其他位置的資料庫)DATABASE_NAME.REGION.firebasedatabase.app
按一下「完成」。
啟用 Realtime Database 時,也會在 Cloud API Manager 中啟用 API。
建立及初始化 firebase::App
您必須先建立並初始化 firebase::App
,才能存取 Realtime Database。
納入 firebase::App
的標頭檔案:
#include "firebase/app.h"
Android
建立 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 Authentication 新增至應用程式,以便控管資料庫的存取權。
後續步驟
準備發布應用程式:
- 在 Google Cloud 控制台中為專案設定預算快訊。
- 請在 Firebase 控制台中監控使用量和帳單資訊主頁,全面掌握專案在多項 Firebase 服務中的用量。您也可以前往 Realtime Database「用量」資訊主頁,查看更詳細的用量資訊。
- 詳閱 Firebase 上市檢查清單。
已知問題
- 在電腦平台 (Windows、Mac、Linux) 上,Firebase C++ SDK 會使用 REST 存取資料庫。因此,您必須在電腦上使用 Query::OrderByChild() 宣告所用索引,否則事件監聽器將無法運作。
- Realtime Database 的電腦版工作流程版本不支援離線或持久性。