運用提供 C++ 的 Firebase C++ SDK 強化 C++ 遊戲 Firebase SDK 的頂端介面
完全可從 C++ 程式碼存取 Firebase,不必編寫任何程式碼 平台原生程式碼Firebase SDK 也可以翻譯許多特定語言的內容 Firebase 使用的慣用語產生 C++ 開發人員較熟悉的介面。
如要進一步瞭解如何運用 Firebase 強化遊戲成效,請前往我們的 Firebase 遊戲頁面。
已將 Firebase 新增至 C++ 專案了嗎?請確認您使用 最新版的 Firebase C++ SDK。
事前準備
安裝下列項目:
- Xcode 13.3.1 以上版本
- CocoaPods 1.12.0 以上版本
請確認您的專案指定下列平台版本或更新版本:
- iOS 11 作業系統
- tvOS 12
設定實體裝置或使用模擬器執行應用程式。
步驟 2:建立 Firebase 專案
將 Firebase 新增至 C++ 專案前,請先建立 Firebase 連線至 C++ 專案。前往 如要進一步瞭解 Firebase 專案,請參閱這篇文章 Firebase 專案。
步驟 3:向 Firebase 註冊應用程式
如要在 Apple 應用程式中使用 Firebase,請向以下應用程式註冊應用程式: Firebase 專案。註冊應用程式通常稱為「新增」將應用程式 專案。
前往 Firebase 主控台。
按一下專案總覽頁面中央的「iOS+」圖示 啟動設定工作流程
如果您已在 Firebase 專案中加入應用程式,請按一下「新增應用程式」 顯示平台選項
在「bundle ID」欄位中輸入應用程式的軟體包 ID。
(選用) 輸入其他應用程式資訊: 「應用程式暱稱」和「App Store ID」。
按一下 [Register app] (註冊應用程式)。
步驟 4:新增 Firebase 設定檔
點選「Download GoogleService-Info.plist」,取得 Firebase Apple 平台設定檔
在 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,請建立一個:
cd your-app-directory
pod init
在 Podfile 中新增要用於 應用程式。
Analytics 已啟用
# 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'未啟用 Analytics
# 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
從解壓縮後新增 Firebase 架構 將機器學習工作流程自動化
想要新增這些架構,最簡單的方法通常是從
Finder
視窗直接進入 Xcode 的「Project Navigator」窗格 ( 最左側的窗格;或按一下 Xcode 左上角的檔案圖示。新增 Firebase C++ 架構
firebase.framework
, 此為必填屬性,以使用任何 Firebase 產品。為您要使用的每項 Firebase 產品新增架構。適用對象 舉例來說,如要使用 Firebase 驗證,請新增
firebase_auth.framework
。
返回 Firebase 控制台,在設定工作流程中點選「下一步」。
如果您已新增 Analytics,請執行應用程式,將驗證傳送至 Firebase 您已成功整合 Firebase。如果不是,可以略過這個步驟 驗證步驟
您的裝置記錄會顯示初始化的 Firebase 驗證資訊 。如果您是在具備網路存取權的模擬器上執行應用程式, Firebase 控制台會通知您應用程式連結已完成。
大功告成!C++ 應用程式已註冊並設為使用 Firebase 很少直接解答該如何打造產品
可用的程式庫
如要進一步瞭解 C++ Firebase 程式庫,請前往 參考說明文件和我們的開放原始碼 SDK 發布。
Apple 平台可用的程式庫
請注意,Android 的 C++ 程式庫列於 設定頁面。
每項 Firebase 產品都有不同的依附元件。請務必加入 將所需 Firebase 產品的依附元件列在 Podfile 中 C++ 專案。
每項 Firebase 產品可能僅支援部分 Apple OS 平台 (iOS、 tvOS 等)。查看 Google Cloud 中每個程式庫支援的平台 進一步瞭解 C++ 和 Firebase。
Firebase 產品 | 架構和 Pod |
---|---|
AdMob |
(必填) firebase.framework firebase_admob.framework (必填) firebase_analytics.framework pod 'FirebaseAdMob', '10.28.1' (必填) pod 'FirebaseAnalytics', '10.28.1'
|
數據分析 |
(必填) firebase.framework firebase_analytics.framework
pod 'FirebaseAnalytics', '10.28.1'
|
App Check |
(必填) firebase.framework firebase_app_check.framework
pod 'FirebaseAppCheck', '10.28.1'
|
身分驗證 |
(必填) firebase.framework firebase_auth.framework
pod 'FirebaseAuth', '10.28.1'
|
Cloud Firestore |
(必填) firebase.framework firebase_firestore.framework firebase_auth.framework
pod 'FirebaseFirestore', '10.28.1' pod 'FirebaseAuth', '10.28.1'
|
Cloud Functions |
(必填) firebase.framework firebase_functions.framework
pod 'FirebaseFunctions', '10.28.1'
|
雲端通訊 |
(必填) firebase.framework firebase_messaging.framework (建議採用) firebase_analytics.framework pod 'FirebaseMessaging', '10.28.1' (建議採用) pod 'FirebaseAnalytics', '10.28.1'
|
Cloud Storage |
(必填) firebase.framework firebase_storage.framework
pod 'FirebaseStorage', '10.28.1'
|
動態連結 |
(必填) firebase.framework firebase_dynamic_links.framework (建議採用) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.28.1' (建議採用) pod 'FirebaseAnalytics', '10.28.1'
|
即時資料庫 |
(必填) firebase.framework firebase_database.framework
pod 'FirebaseDatabase', '10.28.1'
|
遠端設定 |
(必填) firebase.framework firebase_remote_config.framework (建議採用) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.28.1' (建議採用) pod 'FirebaseAnalytics', '10.28.1'
|
行動裝置設定的其他資訊
方法滑動
在 iOS 上,部分應用程式事件 (例如開啟網址和接收
通知),需要應用程式委派來實作
方法。舉例來說,如要接收通知,可能需要您的應用程式
委派用來實作 application:didReceiveRemoteNotification:
。由於
每個 iOS 應用程式都有專屬的應用程式委派項目,Firebase 會使用
方法滑動,可取代其中一種方法。
附加專屬的處理常式,以及您已實作的任何處理常式。
Dynamic Links 和雲端通訊程式庫
,使用方法滑動,將處理常式附加至應用程式委派。如果
您之後使用任一項 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
這個桌面設定檔含有您輸入的 C++ 專案 ID Firebase 控制台設定工作流程前往 瞭解 Firebase 專案 ,進一步瞭解設定檔。
將 Firebase SDK 新增至您的 C++ 專案。
下列步驟只是示範, 支援的 Firebase 產品 C++ 專案中的資源。本例會逐步說明如何 Firebase 驗證和 Firebase 即時資料庫。
將
FIREBASE_CPP_SDK_DIR
環境變數設為 解壓縮後的 Firebase C++ SDK在專案的
CMakeLists.txt
檔案中,新增以下內容: 包括以下項目的程式庫 要使用的 Firebase 產品舉例來說 Firebase 驗證和 Firebase 即時資料庫:# 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 提供電腦工作流程支援 且能透過 Firebase 的特定部分 獨立桌面版本,適用於 Windows、macOS 和 Linux。
Firebase 產品 | 程式庫參考資料 (使用 CMake) |
---|---|
App Check |
firebase_app_check (必要) firebase_app
|
身分驗證 |
firebase_auth (必要) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_app
|
Cloud Functions |
firebase_functions (必要) firebase_app
|
Cloud Storage |
firebase_storage (必要) firebase_app
|
即時資料庫 |
firebase_database (必要) firebase_app
|
遠端設定 |
firebase_remote_config (必要) firebase_app
|
Firebase 提供其餘的電腦版程式庫做為虛設常式 (無法運作) 方便在 Windows、macOS 和 Linux 上進行建構。 因此,您不需要條件式編譯程式碼即可指定電腦。
即時資料庫桌面
電腦版即時資料庫 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 |
驗證 | 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 |
即時資料庫 | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
遠端設定 | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
macOS 程式庫
如為 macOS (Darwin),則提供 64 位元 (x86_64) 的程式庫版本 平台。此外,我們提供了架構,方便您使用。
請注意,已使用 Xcode 測試 macOS 程式庫 13.3.1。
在 macOS 上建構 C++ 電腦版應用程式時,請將以下連結連結至您的專案:
pthread
系統程式庫CoreFoundation
個 macOS 系統架構Foundation
個 macOS 系統架構Security
個 macOS 系統架構GSS
個 macOS 系統架構Kerberos
個 macOS 系統架構SystemConfiguration
個 macOS 系統架構
詳情請參閱編譯器說明文件。
Linux 程式庫
Linux 系統為 32 位元 (i386) 和 64 位元 (x86_64) 提供程式庫版本。 平台。
請注意,Linux 程式庫使用 GCC 4.8.0、GCC 7.2.0 和 Ubuntu 的 Clang 5.0。
在 Linux 上建構 C++ 電腦版應用程式時,請將 pthread
系統程式庫連結至
。詳情請參閱編譯器說明文件。如果
您才使用 GCC 5 以上版本進行建構,請定義 -D_GLIBCXX_USE_CXX11_ABI=0
。
後續步驟
探索 Firebase 應用程式範例。
準備推出應用程式:
- 設定預算 快訊 也可前往 Google Cloud 控制台
- 監控用量與計費 資訊主頁 在 Firebase 控制台中查看專案的整體概況 以及跨多項 Firebase 服務的用量
- 查看 Firebase 發布檢查清單。