Firebase 實時數據庫使用 NoSQL 雲數據庫存儲和同步數據。數據在所有客戶端之間實時同步,並在您的應用程序離線時保持可用。
在你開始之前
在使用Firebase Realtime Database之前,您需要:
註冊您的 C++ 項目並將其配置為使用 Firebase。
如果您的 C++ 項目已經使用 Firebase,那麼它已經針對 Firebase 進行了註冊和配置。
將Firebase C++ SDK添加到您的 C++ 項目。
請注意,將 Firebase 添加到您的 C++ 項目涉及Firebase 控制台和您打開的 C++ 項目中的任務(例如,您從控制台下載 Firebase 配置文件,然後將它們移動到您的 C++ 項目中)。
創建數據庫
導航到Firebase 控制台的實時數據庫部分。系統會提示您選擇一個現有的 Firebase 項目。遵循數據庫創建工作流程。
為您的 Firebase 安全規則選擇啟動模式:
- 測試模式
適合開始使用移動和 Web 客戶端庫,但允許任何人讀取和覆蓋您的數據。測試後,請務必查看了解 Firebase 實時數據庫規則部分。
要開始使用 Web、Apple 或 Android SDK,請選擇測試模式。
- 鎖定模式
拒絕來自移動和 Web 客戶端的所有讀取和寫入。經過身份驗證的應用程序服務器仍然可以訪問您的數據庫。
選擇數據庫的位置。
根據數據庫的位置,新數據庫的 URL 將採用以下形式之一:
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"
安卓
創建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 身份驗證添加到您的應用程序以控制對數據庫的訪問。
下一步
了解如何為實時數據庫構建數據結構。
準備啟動您的應用程序:
- 在 Google Cloud Console 中為您的項目設置預算提醒。
- 監控 Firebase 控制台中的使用情況和計費儀表板,以全面了解您的項目在多個 Firebase 服務中的使用情況。您還可以訪問實時數據庫使用情況儀表板以獲取更詳細的使用信息。
- 查看Firebase 啟動清單。
已知的問題
- 在桌面平台(Windows、Mac、Linux)上,Firebase C++ SDK 使用 REST 訪問您的數據庫。因此,您必須在桌面上聲明與 Query::OrderByChild() 一起使用的索引,否則您的偵聽器將失敗。
- 實時數據庫的桌面工作流版本不支持脫機或持久性。