本頁面說明如何使用自訂 App Check 提供者,在 Unity 應用程式中啟用 App Check。啟用 App Check 後,可確保只有您的應用程式能存取專案的 Firebase 資源。
如要搭配預設供應商使用 App Check,請參閱「在 Unity 中啟用 App Check 並搭配預設供應商」。
事前準備
如果您尚未將 Firebase 新增至 Unity 專案,請先新增。
1. 將 App Check 程式庫新增至應用程式
按照 App Check 的設定說明,在依附元件集中加入 App Check 程式庫。
2. 實作 App Check 介面
首先,您需要建立實作 IAppCheckProvider
和 IAppCheckProviderFactory
介面的類別。
您的 AppCheckProvider
類別必須具備 GetTokenAsync()
方法,該方法會收集自訂 App Check 供應商要求的所有資訊,做為驗證證明,並將這些資訊傳送至權杖取得服務,以換取 App Check 權杖。App Check SDK 會處理權杖快取,因此請務必在 GetTokenAsync()
的實作中取得新權杖。
public class YourCustomAppCheckProvider : IAppCheckProvider {
public Task<AppCheckToken> GetTokenAsync() {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
AppCheckToken appCheckToken = new AppCheckToken() {
Token = tokenFromAbove,
ExpireTime = DateTime.UtcNow.AddMinutes(60)
};
return Task<AppCheckToken>.FromResult(appCheckToken);
}
};
此外,請實作 AppCheckProviderFactory
類別,建立 AppCheckProvider
實作項目的例項:
public class YourCustomAppCheckProviderFactory : IAppCheckProviderFactory {
IAppCheckProvider CreateProvider(FirebaseApp app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. 初始化 App Check
將下列初始化程式碼加入應用程式,讓它在使用任何其他 Firebase SDK 前優先執行:
FirebaseAppCheck.SetAppCheckProviderFactory(
new YourCustomAppCheckProviderFactory());
後續步驟
在應用程式中安裝 App Check 程式庫後,即可開始向使用者發布更新版應用程式。
更新後的用戶端應用程式會開始在每次向 Firebase 發出的要求中,一併傳送 App Check 權杖,但您必須在 Firebase 控制台的「App Check」部分啟用強制執行功能,Firebase 產品才會要求權杖有效。
監控指標並啟用強制執行功能
不過,啟用強制執行前,請先確認這麼做不會影響現有的合法使用者。另一方面,如果發現應用程式資源遭到可疑使用,建議盡快啟用強制執行功能。
如要協助做出這項決定,您可以查看所用服務的 App Check 指標:
- 監控 App Check 要求指標,適用於 Firebase AI Logic、Data Connect、Realtime Database、Cloud Firestore、Cloud Storage、Authentication、適用於 iOS 的 Google Identity、Maps JavaScript API 和 Places API (新版)。
- 監控 App Check Cloud Functions 的要求指標。
啟用App Check強制執行功能
瞭解 App Check 對使用者的影響後,即可啟用 App Check 強制執行:
- 針對 Firebase AI Logic、Data Connect、Realtime Database、Cloud Firestore、Cloud Storage、Authentication、適用於 iOS 的 Google Identity、Maps JavaScript API 和 Places API (新版),啟用 App Check 強制執行。
- 為 Cloud Functions 啟用 App Check 強制執行功能。
在偵錯環境中使用 App Check
如果您已為應用程式註冊 App Check,但想在 App Check 通常不會歸類為有效的環境中執行應用程式 (例如開發期間的模擬器,或來自持續整合 (CI) 環境),可以建立應用程式的偵錯版本,使用 App Check 偵錯供應器,而非實際的認證供應器。
請參閱「在 Unity 中搭配使用 App Check 與偵錯供應商」。