本頁向您展示如何使用自訂 App Check 提供者在 Unity 應用程式中啟用 App Check。啟用應用程式檢查後,您可以協助確保只有您的應用程式可以存取專案的 Firebase 資源。
如果您想將 App Check 與預設提供者一起使用,請參閱在 Unity 中啟用具有預設提供者的 App Check 。
在你開始之前
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. 初始化應用檢查
將以下初始化程式碼新增至您的應用程式中,以便它在您使用任何其他 Firebase SDK 之前執行:
FirebaseAppCheck.SetAppCheckProviderFactory(
new YourCustomAppCheckProviderFactory());
下一步
在您的應用程式中安裝 App Check 庫後,開始向您的用戶分發更新的應用程式。
更新後的客戶端應用程式將開始發送應用程式檢查令牌及其向Firebase 發出的每個請求,但Firebase 產品不會要求令牌有效,直到您在Firebase 控制台的應用程式檢查部分中啟用強制執行。
監控指標並啟用執行
但是,在啟用強制執行之前,您應該確保這樣做不會幹擾您現有的合法使用者。另一方面,如果您發現應用程式資源的可疑使用,您可能希望盡快啟用強制執行。
為了幫助做出此決定,您可以查看您使用的服務的 App Check 指標:
啟用應用程式檢查強制執行
當您了解 App Check 將如何影響您的使用者並且準備好繼續操作後,您可以啟用 App Check 強制執行:
- 為即時資料庫、Cloud Firestore、雲端儲存和驗證(測試版)啟用應用程式檢查強制執行。
- 為 Cloud Functions 啟用應用程式檢查強制執行。
在調試環境中使用 App Check
如果您在為App Check 註冊您的應用程式後,想要在App Check 通常不會歸類為有效的環境中運行您的應用程序,例如開發期間的模擬器,或者在持續整合(CI) 環境中,您可以建立應用程式的偵錯版本,該版本使用 App Check 偵錯提供者而不是真正的證明提供者。
請參閱在 Unity 中使用 App Check 和偵錯提供者。