使用 Firebase C++ SDK,透過 Firebase SDK 上的 C++ 介面,提升 C++ 遊戲的效能。
完全透過 C++ 程式碼存取 Firebase,不必編寫任何平台原生程式碼。Firebase SDK 也會將 Firebase 使用的許多語言專屬慣用語,轉換為 C++ 開發人員較為熟悉的介面。
如要進一步瞭解如何運用 Firebase 提升遊戲效能,請前往我們的 Firebase 遊戲頁面。
已將 Firebase 新增至 C++ 專案?確認您使用的是最新版 Firebase C++ SDK。
事前準備
安裝下列項目:
- Xcode 16.2 以上版本
- CocoaPods 1.12.0 以上版本
請確認專案是以下列平台版本或更新版本為目標:
- iOS 13
- tvOS 13
設定實體裝置或使用模擬器執行應用程式。
要使用「Cloud Messaging」嗎?
如要在 Apple 平台上使用 Cloud Messaging,請先確認是否符合下列必要條件:
- 設定實體 Apple 裝置。
- 為Apple 開發人員帳戶取得 Apple 推播通知驗證金鑰。
- 在 Xcode 中依序前往「App」>「Capabilities」,啟用推播通知。
使用 Google 帳戶登入 Firebase。
步驟 2:建立 Firebase 專案
將 Firebase 新增至 C++ 專案前,請先建立要連結至該 C++ 專案的 Firebase 專案。如要進一步瞭解 Firebase 專案,請參閱「瞭解 Firebase 專案」一文。
建立 Firebase 專案
-
在 Firebase 控制台中,按一下「新增專案」。
-
如要將 Firebase 資源新增至現有 Google Cloud 專案,請輸入專案名稱或從下拉式選單中選取專案。
-
如要建立新專案,請輸入專案名稱。您也可以選擇編輯專案名稱下方顯示的專案 ID。
-
-
如果系統顯示提示,請詳閱並接受 Firebase 條款。
-
按一下「繼續」。
-
(選用) 為專案設定 Google Analytics,以便使用下列 Firebase 產品,獲得最佳體驗: Firebase A/B Testing、 Cloud Messaging、 Crashlytics、 In-App Messaging 和 Remote Config (包括個人化)。
選取現有Google Analytics帳戶或建立新帳戶。如果建立新帳戶,請選取Analytics報表位置,然後接受專案的資料共用設定和Google Analytics條款。
-
按一下「建立專案」 (或「新增 Firebase」,如果要在現有的 Google Cloud 專案中新增 Firebase)。
Firebase 會自動為您的 Firebase 專案佈建資源。完成程序後,系統會將您帶往 Firebase 控制台的 Firebase 專案總覽頁面。
步驟 3:向 Firebase 註冊應用程式
如要在 Apple 應用程式中使用 Firebase,請向 Firebase 專案註冊應用程式。註冊應用程式通常稱為「將應用程式新增至專案」。
前往 Firebase 控制台。
在專案總覽頁面中間,按一下「iOS+」圖示,啟動設定工作流程。
如果已將應用程式新增至 Firebase 專案,請按一下「新增應用程式」,顯示平台選項。
在「軟體包 ID」欄位中輸入應用程式的軟體包 ID。
什麼是軟體包 ID?如何找出軟體包 ID?
軟體包 ID 是 Apple 生態系統中應用程式的專屬 ID。
找出軟體包 ID:在 Xcode 中開啟專案,選取專案導覽器中的頂層應用程式,然後選取「General」(一般) 分頁標籤。
「軟體包 ID」欄位的值是軟體包 ID (例如
com.yourcompany.yourproject
)。請注意,套件 ID 值會區分大小寫,且向 Firebase 專案註冊後,就無法變更這個 Firebase 應用程式的套件 ID。
(選用) 輸入其他應用程式資訊: 「應用程式暱稱」和「App Store ID」。
Firebase 如何使用應用程式暱稱和應用程式商店 ID?
應用程式暱稱:內部使用的便利識別碼,只會顯示在Firebase管理中心
App Store ID:Firebase Dynamic Links 用於將使用者重新導向至 App Store 頁面,Google Analytics 用於將轉換事件匯入 Google Ads。如果應用程式尚未取得 App Store ID,您可以在專案設定中稍後再新增 ID。
按一下 [Register app] (註冊應用程式)。
步驟 4:新增 Firebase 設定檔
按一下「Download GoogleService-Info.plist」,取得 Firebase Apple 平台設定檔。
關於這個設定檔,您需要瞭解哪些事項?
Firebase 設定檔包含專案和應用程式的非祕密專屬 ID。如要進一步瞭解這個設定檔,請參閱「瞭解 Firebase 專案」。
您隨時可以再次下載 Firebase 設定檔。
請確定設定檔名稱未附加額外的字元,例如
(2)
。
在 IDE 中開啟 C++ 專案,然後將設定檔拖曳至 C++ 專案的根目錄。
系統出現提示時,請選取將設定檔新增至所有目標。
您已在 Firebase 控制台中完成設定工作。請繼續下方的「新增 Firebase C++ SDK」。
步驟 5:新增 Firebase C++ SDK
本節的步驟說明如何將支援的 Firebase 產品新增至 Firebase C++ 專案。
下載 Firebase C++ SDK,然後將 SDK 解壓縮到方便的位置。
Firebase C++ SDK 並非平台專屬,但包含平台專屬程式庫。
從解壓縮的 SDK 新增 Firebase Pod。
如果沒有 Podfile,請先建立 Podfile:
cd
your-app-directory pod init
在 Podfile 中,加入要在應用程式中使用的 Firebase Pod。
# Add the Firebase pod for Google Analytics pod 'FirebaseAnalytics'
# Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'# Add the pods for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'
安裝 Pod,然後在 Xcode 中開啟
.xcworkspace
檔案。pod install
open
your-app .xcworkspace
從解壓縮的 SDK 新增 Firebase 架構。
新增這些架構最簡單的方式,通常是從
Finder
視窗將架構直接拖曳到 Xcode 的「專案導覽器」窗格 (預設位於最左側的窗格;或點選 Xcode 左上角的文件圖示)。新增 Firebase C++ 架構
firebase.framework
,這是使用任何 Firebase 產品的必要條件。為要使用的每個 Firebase 產品新增架構。舉例來說,如要使用 Firebase Authentication,請新增
firebase_auth.framework
。
返回 Firebase 控制台,在設定工作流程中按一下「下一步」。
如果您已新增 Analytics,請執行應用程式,向 Firebase 傳送驗證,確認您已成功整合 Firebase。否則可以略過這個驗證步驟。
裝置記錄會顯示 Firebase 驗證,指出初始化已完成。如果您在可存取網路的模擬器上執行應用程式,Firebase 控制台會通知您應用程式連線已完成。
大功告成!您的 C++ 應用程式已註冊完畢,並設定為使用 Firebase 產品。
可用的程式庫
如要進一步瞭解 C++ Firebase 程式庫,請參閱參考說明文件和 GitHub 上的開放原始碼 SDK 版本。
適用於 Apple 平台的程式庫
請注意,Android 適用的 C++ 程式庫列於這個設定頁面的 Android 版本。
每個 Firebase 產品都有不同的依附元件。請務必將所需 Firebase 產品的所有列出依附元件,新增至 Podfile 和 C++ 專案。
每個 Firebase 產品可能只支援部分 Apple 作業系統平台 (iOS、tvOS 等)。如要查看各程式庫支援的平台,請參閱「進一步瞭解 C++ 和 Firebase」。
Firebase 產品 | 架構和 Pod |
---|---|
AdMob |
(必要) firebase.framework firebase_admob.framework (必要) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (必要) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(必要) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(必要) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(必要) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(必要) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(必要) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(必要) firebase.framework firebase_messaging.framework (建議) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (建議) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(必要) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(必要) firebase.framework firebase_dynamic_links.framework (建議) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (建議) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(必要) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(必要) firebase.framework firebase_remote_config.framework (建議) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (建議) pod 'FirebaseAnalytics', '12.0.0'
|
行動裝置設定的其他資訊
方法交換
在 iOS 上,部分應用程式事件 (例如開啟網址和接收通知) 需要應用程式委派項目實作特定方法。舉例來說,應用程式委派項目可能需要實作 application:didReceiveRemoteNotification:
,才能接收通知。由於每個 iOS 應用程式都有自己的應用程式委派,Firebase 會使用方法交換 (允許以一個方法取代另一個方法),除了您可能已實作的處理常式外,還會附加自己的處理常式。
Dynamic Links 和 Cloud Messaging 程式庫需要使用方法交換,將處理常式附加至應用程式委派。如果您使用上述任一 Firebase 產品,Firebase 會在載入時識別 AppDelegate
類別,並將必要方法轉移至該類別,將呼叫鏈結回現有方法實作。
設定電腦工作流程 (Beta 版)
建立遊戲時,通常先在電腦平台測試遊戲會比較容易,然後再於開發後期部署及測試行動裝置。為支援這項工作流程,我們提供部分 Firebase C++ SDK,可在 Windows、macOS、Linux 和 C++ 編輯器中執行。
如要使用電腦工作流程,請完成下列步驟:
- 為 CMake 設定 C++ 專案。
- 建立 Firebase 專案
- 向 Firebase 註冊應用程式 (iOS 或 Android)
- 新增行動平台 Firebase 設定檔
建立 Firebase 設定檔的桌面版本:
如果您已新增 Android
google-services.json
檔案:執行應用程式時,Firebase 會找出這個行動檔案,然後自動產生桌面 Firebase 設定檔 (google-services-desktop.json
)。如果您已加入 iOS
GoogleService-Info.plist
檔案:執行應用程式前,您需要將這個行動裝置檔案轉換為電腦 Firebase 設定檔。如要轉換檔案,請在與GoogleService-Info.plist
檔案相同的目錄中執行下列指令:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
這個電腦設定檔包含您在 Firebase 控制台設定工作流程中輸入的 C++ 專案 ID。請參閱「瞭解 Firebase 專案」,進一步瞭解設定檔。
將 Firebase SDK 新增至 C++ 專案。
以下步驟以範例形式說明如何將任何支援的 Firebase 產品新增至 C++ 專案。在本範例中,我們會逐步說明如何新增 Firebase Authentication 和 Firebase Realtime Database。
將
FIREBASE_CPP_SDK_DIR
環境變數設為解壓縮 Firebase C++ SDK 的位置。在專案的
CMakeLists.txt
檔案中加入下列內容,包括要使用的 Firebase 產品的程式庫。舉例來說,如要使用 Firebase Authentication 和 Firebase Realtime Database:# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. # Add the Firebase SDKs for the products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database set(firebase_libs firebase_auth firebase_database firebase_app) target_link_libraries(${target_name} "${firebase_libs}")
執行 C++ 應用程式。
可用的程式庫 (電腦)
Firebase C++ SDK 支援桌面工作流程,可讓您在 Windows、macOS 和 Linux 的獨立桌面版本中使用部分 Firebase 功能。
Firebase 產品 | 程式庫參照 (使用 CMake) |
---|---|
App Check |
firebase_app_check (必要) firebase_app
|
Authentication |
firebase_auth (必要) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_app
|
Cloud Functions |
firebase_functions (必要) firebase_app
|
Cloud Storage |
firebase_storage (必要) firebase_app
|
Realtime Database |
firebase_database (必要) firebase_app
|
Remote Config |
firebase_remote_config (必要) firebase_app
|
Firebase 會提供其餘的桌面程式庫做為虛設 (非功能性) 實作項目,方便您為 Windows、macOS 和 Linux 建構應用程式。因此,您不需要有條件地編譯程式碼,即可指定桌面裝置。
Realtime Database 電腦
電腦版 Realtime Database SDK 會使用 REST 存取資料庫,因此您必須宣告索引,才能在電腦版上使用 Query::OrderByChild()
,否則接聽程式會失敗。
電腦設定的其他資訊
Windows 程式庫
在 Windows 中,系統會根據下列項目提供程式庫版本:
- 建構平台:32 位元 (x86) 與 64 位元 (x64) 模式
- Windows 執行階段環境:多執行緒 / MT 與多執行緒 DLL /MD
- 目標:發布與偵錯
請注意,下列程式庫是使用 Visual Studio 2015 和 2017 進行測試。
在 Windows 上建構 C++ 電腦應用程式時,請將下列 Windows SDK 程式庫連結至專案。詳情請參閱編譯器說明文件。
Firebase C++ 程式庫 | Windows SDK 程式庫依附元件 |
---|---|
App Check | advapi32, ws2_32, crypt32 |
Authentication | advapi32, ws2_32, crypt32 |
Cloud Firestore | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Cloud Functions | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Cloud Storage | advapi32, ws2_32, crypt32 |
Realtime Database | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Remote Config | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
macOS 程式庫
如果是 macOS (Darwin),系統會為 64 位元 (x86_64) 平台提供程式庫版本。我們也提供架構,方便您使用。
請注意,macOS 程式庫已使用 Xcode 16.2 測試。
在 macOS 上建構 C++ 電腦版應用程式時,請將下列項目連結至專案:
pthread
系統程式庫CoreFoundation
macOS 系統架構Foundation
macOS 系統架構Security
macOS 系統架構GSS
macOS 系統架構Kerberos
macOS 系統架構SystemConfiguration
macOS 系統架構
詳情請參閱編譯器說明文件。
Linux 程式庫
如果是 Linux,程式庫版本適用於 32 位元 (i386) 和 64 位元 (x86_64) 平台。
請注意,Linux 程式庫是在 Ubuntu 上使用 GCC 4.8.0、GCC 7.2.0 和 Clang 5.0 進行測試。
在 Linux 上建構 C++ 電腦應用程式時,請將 pthread
系統程式庫連結至專案。詳情請參閱編譯器說明文件。如果是使用 GCC 5 以上版本建構,請定義 -D_GLIBCXX_USE_CXX11_ABI=0
。
後續步驟
探索 Firebase 應用程式範例。
準備發布應用程式:
- 在 Google Cloud 控制台中,為專案設定預算快訊。
- 在 Firebase 控制台中監控「用量和帳單」資訊主頁,全面掌握專案在多項 Firebase 服務中的用量。
- 詳閱 Firebase 發布檢查清單。