本頁面說明如何在 Unity 應用程式中使用預設供應商:Android 上的 Play Integrity,以及 Apple 平台上的 Device Check 或 App Attest,藉此在 Unity 應用程式中啟用 App Check。啟用 App Check 可確保只有應用程式可以存取專案的 Firebase 資源。請參閱這項功能的總覽。
1. 設定 Firebase 專案
如果您尚未將 Firebase 新增至 Unity 專案,請先完成這項操作。
在 Firebase 控制台的「Project Settings」>「App Check」部分,為應用程式註冊使用 App Check,並與 Play Integrity、Device Check 或 App Attest 供應商搭配使用。
您通常需要註冊專案的所有應用程式,因為一旦為 Firebase 產品啟用強制執行功能,只有已註冊的應用程式可以存取產品的後端資源。
如要進一步瞭解如何向每個供應商註冊,請參閱 Android 和 iOS 專屬說明文件。
選用:在應用程式註冊設定中,針對供應商核發的 App Check 權杖設定自訂存留時間 (TTL)。存留時間可設為 30 分鐘至 7 天之間的任何值。變更這個值時,請注意以下優缺點:
- 安全性:縮短存留時間越短,安全性就越高,越能避免攻擊者濫用權杖。
- 效能:縮短存留時間 (TTL) 越短,應用程式執行認證的頻率就會越高。由於應用程式認證程序會在每次執行網路要求時增加延遲時間,因此短暫存留時間可能會影響應用程式的效能。
- 配額與費用:縮短存留時間 (TTL) 和頻繁的重新認證作業會更快消耗配額。如果是付費服務,費用可能會增加。請參閱配額與限制。
預設存留時間對大多��應用程式來說是合理的。請注意,App Check 程式庫會以約半時間的 TTL 更新權杖。
2. 在應用程式中加入 App Check 程式庫
按照 App Check 的設定操作說明,在一組依附元件中加入 App Check 程式庫。
3. 初始化 App Check
將以下初始化程式碼新增至應用程式,即可在使用任何 Firebase 服務 (包括建立 Firebase 應用程式) 前執行。
Android
為
Firebase.AppCheck
新增使用宣告:using Firebase.AppCheck
透過 Play Integrity 供應商初始化 App Check 程式庫:
FirebaseAppCheck.SetAppCheckProviderFactory( PlayIntegrityProviderFactory.Instance);
iOS+
為
Firebase.AppCheck
新增使用宣告:using Firebase.AppCheck
使用 Device Check 或 App Attest 供應商初始化 App Check 程式庫:
FirebaseAppCheck.SetAppCheckProviderFactory( DeviceCheckProviderFactory.Instance);
後續步驟
在應用程式中安裝 App Check 程式庫後,即可開始向使用者發布更新的應用程式。
更新後的用戶端應用程式將開始傳送 App Check 權杖,以及對 Firebase 發出的每個要求,但您在 Firebase 控制台的「App Check」部分啟用強制執行後,Firebase 產品就不會要求權杖有效。
監控指標並啟用強制執行功能
不過,在強制執行之前,您應先確認這樣做不會影響現有的合法使用者。另一方面,如果您發現應用程式資源遭到濫用,建議您盡早啟用強制執行功能。
為做出此決定,您可以查看所用服務的 App Check 指標:
- 針對即時資料庫、Cloud Firestore 和 Cloud Storage 監控 App Check 要求指標。
- 監控 Cloud Functions 的 App Check 要求指標。
啟用強制執行 App Check
瞭解 App Check 會對使用者造成哪些影響,您已準備好進行後續步驟時,可以啟用 App Check 強制執行功能:
- 針對即時資料庫、Cloud Firestore 和 Cloud Storage 啟用 App Check 強制執行功能。
- 啟用 Cloud Functions 的 App Check 強制執行功能。
在偵錯環境中使用 App Check
註冊應用程式進行 App Check 後,如果您想在 App Check 通常無法歸類為有效的環境中執行應用程式 (例如在電腦、開發期間的模擬器,或是從持續整合 (CI) 環境),您可以建立採用 App Check 偵錯供應商 (而非實際認證供應商) 的應用程式偵錯版本。
請參閱「在 Unity 應用程式中搭配偵錯提供者使用 App Check」一文。