Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

開始在 Android 上使用帶有 SafetyNet 的 App Check

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

此頁面向您展示如何使用內置的 SafetyNet 提供程序在 Android 應用程序中啟用應用程序檢查。當您啟用 App Check 時,您有助於確保只有您的應用可以訪問您項目的 Firebase 資源。請參閱此功能的概述

如果您想將 App Check 與您自己的自定義提供程序一起使用,請參閱實現自定義應用程序檢查提供程序

1. 設置您的 Firebase 項目

  1. 如果您還沒有這樣做,請將 Firebase 添加到您的 Android 項目中。

  2. 在 Firebase 控制台的App Check部分註冊您的應用以使用 SafetyNet 提供商的 App Check。您需要提供應用簽名證書的 SHA-256 指紋

    您通常需要註冊項目的所有應用,因為一旦您為 Firebase 產品啟用強制執行,只有已註冊的應用才能訪問該產品的後端資源。

  3. 可選:在應用註冊設置中,為提供商發布的應用檢查令牌設置自定義生存時間 (TTL)。您可以將 TTL 設置為 30 分鐘到 7 天之間的任何值。更改此值時,請注意以下權衡:

    • 安全性:較短的 TTL 可提供更強的安全性,因為它減少了洩露或攔截的令牌可能被攻擊者濫用的窗口。
    • 性能:較短的 TTL 意味著您的應用將更頻繁地執行證明。由於應用程序證明過程每次執行都會增加網絡請求的延遲,因此較短的 TTL 可能會影響應用程序的性能。
    • 配額和成本:較短的 TTL 和頻繁的重新證明會更快地耗盡您的配額,而對於付費服務,可能會花費更多。請參閱配額和限制

    對於大多數應用程序來說, 1 小時的默認 TTL 是合理的。請注意,App Check 庫以大約一半的 TTL 持續時間刷新令牌。

2. 將 App Check 庫添加到您的應用程序

在您的模塊(應用級)Gradle 文件(通常是app/build.gradle )中,聲明 App Check Android 庫的依賴項:

Java

dependencies {
    implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.0'
}

Kotlin+KTX

dependencies {
    implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.0'
}

3.初始化應用檢查

將以下初始化代碼添加到您的應用中,以便它在您使用任何其他 Firebase SDK 之前運行:

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        SafetyNetAppCheckProviderFactory.getInstance());

Kotlin+KTX

FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
    SafetyNetAppCheckProviderFactory.getInstance()
)

下一步

在您的應用中安裝 App Check 庫後,開始將更新的應用分發給您的用戶。

更新後的客戶端應用將開始向 Firebase 發出的每個請求發送 App Check 令牌,但 Firebase 產品不需要令牌有效,直到您在 Firebase 控制台的 App Check 部分啟用強制執行。

監控指標並啟用強制執行

但是,在啟用強制執行之前,您應該確保這樣做不會破壞您現有的合法用戶。另一方面,如果您發現對應用資源的使用可疑,您可能希望盡快啟用強制執行。

為了幫助做出此決定,您可以查看您使用的服務的 App Check 指標:

啟用應用檢查強制

當您了解 App Check 將如何影響您的用戶並準備好繼續時,您可以啟用 App Check 強制:

在調試環境中使用 App Check

如果在您為 App Check 註冊了您的應用程序後,您希望在 App Check 通常不會歸類為有效的環境中運行您的應用程序,例如開發期間的模擬器或持續集成 (CI) 環境,您可以創建使用 App Check 調試提供程序而不是真正的證明提供程序的應用程序的調試版本。

請參閱在 Android 上通過調試提供程序使用 App Check