Firebase 即時資料庫會透過 NoSQL 雲端資料庫儲存及同步處理資料。系統會即時同步處理所有用戶端的資料,並在應用程式離線時繼續使用。
事前準備
使用 Firebase 即時資料庫前,您必須先完成以下事項:
註冊 C++ 專案,並將其設為使用 Firebase。
如果您的 C++ 專案已使用 Firebase,則專案已針對 Firebase 完成註冊並完成相關設定。
在 C++ 專案中新增 Firebase C++ SDK。
請注意,將 Firebase 新增至 C++ 專案時,牽涉到 Firebase 控制台和開放式 C++ 專案中的工作 (例如從控制台下載 Firebase 設定檔,再移至 C++ 專案)。
建立資料庫
前往 Firebase 控制台的「Realtime Database」(即時資料庫) 部分。系統會提示您選取現有的 Firebase 專案。按照資料庫建立工作流程操作。
選取 Firebase 安全性規則的啟動模式:
- 測試模式
很適合開始使用行動和網路用戶端程式庫,但允許任何人讀取及覆寫您的資料。測試完成後,請務必查看「瞭解 Firebase 即時資料庫規則」一節。
如要開始使用網頁、Apple 或 Android SDK,請選取「testmode」。
- 鎖定模式
拒絕來自行動裝置和網路用戶端的所有讀寫作業。 但經驗證的應用程式伺服器仍然可以存取您的資料庫。
選擇資料庫的位置。
根據資料庫的位置,新資料庫的網址會採用下列其中一種格式:
(適用於DATABASE_NAME.firebaseio.com
us-central1
中的資料庫) (適用於所有其他位置的資料庫)DATABASE_NAME.REGION.firebasedatabase.app
點選「完成」。
啟用即時資料庫時,也會在 Cloud API Manager 中啟用 API。
建立及初始化 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 驗證新增至應用程式,藉此控制資料庫的存取權。
後續步驟
瞭解如何針對即時資料庫建立資料結構。
準備推出應用程式:
- 在 Google Cloud 控制台中,為專案設定預算快訊。
- 在 Firebase 控制台中監控「Usage and billing」(用量與計費) 資訊主頁,全面掌握專案在多項 Firebase 服務中的用量。如要進一步瞭解使用資訊,您也可以造訪即時資料庫的「使用情形」資訊主頁。
- 查看 Firebase 發布檢查清單。
已知問題
- 在電腦平台 (Windows、Mac、Linux) 上,Firebase C++ SDK 會使用 REST 存取您的資料庫。因此,您必須在桌面版與 Query::OrderByChild() 中宣告您使用的索引,否則事件監聽器將會失敗。
- 即時資料庫的電腦版工作流程不支援離線或永久性。