開始在 C++ 應用程式中使用 App Check

本頁說明如何使用 預設供應商:Android 上的 Play Integrity,以及裝置 Check 或 App Attest Apple 平台。啟用 App Check 後,您就能確保只有您的應用程式可以存取專案的 Firebase 資源。查看 這項功能的總覽

1. 設定 Firebase 專案

  1. 將 Firebase 新增至您的 C++ 專案 (如果尚未這麼做) 已完成其他驗證步驟

  2. 在 Play Integrity、Device Check、 或 App Attest 供應商 專案設定 >App Check 專區。

    您通常需要註冊所有專案的應用程式,因為一旦啟用 Firebase 產品的強制執行功能,只有已註冊的應用程式才能存取產品的後端資源。

    如要進一步瞭解如何向各個供應商註冊,請參閱 請參閱 Android 和 iOS 專屬說明文件

  3. 選用:在應用程式註冊設定中,為供應商核發的 App Check 權杖設定自訂存留時間 (TTL)。您可以設定存留時間 設為 30 分鐘至 7 天之間的任何值。變更這個值時, 瞭解下列優缺點:

    • 安全性:較短的存留時間可提高安全性,因為這麼做能減少 出現安全漏洞,可能導致權杖遭到洩漏或攔截 攻擊者
    • 效能:TTL 越短,應用程式執行認證的頻率就越高。由於應用程式認證程序每次執行時都會為網路要求增加延遲時間,因此 TTL 時間過短可能會影響應用程式效能。
    • 配額與費用:縮短存留時間 (TTL) 和頻繁的重新認證作業,皆會破壞您的 配額更快,而如果是付費服務,費用可能更高。 請參閱「配額與限制」。

    預設的存留時間對大多數應用程式來說都合理。請注意,App Check 程式庫會在 TTL 時間長度的約一半時間重新整理權杖。

2. 在應用程式中加入 App Check 程式庫

在一組依附元件中加入 App Check 程式庫,如下所示: App Check 的設定操作說明

3. 初始化 App Check

將下列初始化程式碼加入應用程式,讓應用程式在您使用任何 Firebase 服務 (包括建立 Firebase 應用程式) 前先執行。

Android

  1. 包含 firebase::app_check 的標頭檔案:

    #include "firebase/app_check.h"
  2. 使用 Play Integrity 供應器初始化 App Check 程式庫:

    firebase::app_check::AppCheck::SetAppCheckProviderFactory(
      firebase::app_check::PlayIntegrityProviderFactory::GetInstance());
    

iOS+

  1. 包含 firebase::app_check 的標頭檔案:

    #include "firebase/app_check.h"
  2. 使用裝置檢查或應用程式認證提供者初始化 App Check 程式庫:

    firebase::app_check::AppCheck::SetAppCheckProviderFactory(
      firebase::app_check::DeviceCheckProviderFactory::GetInstance());
    

後續步驟

在應用程式中安裝 App Check 程式庫後,即可開始發布 為使用者提供了最新的應用程式

更新後的用戶端應用程式會開始傳送 App Check 權杖和 但 Firebase 產品不需要權杖 您必須在 Firebase 控制台。

監控指標並啟用強制執行機制

不過,啟用違規處置前,請先確認這麼做不會影響現有的合法使用者。另一方面,如果您發現 如果您對應用程式資源都很可疑,不妨啟用強制執行功能

為做出這項決定,您可以查看 App Check 指標: 您使用的服務:

啟用強制執行 App Check

瞭解 App Check 對使用者的影響後,您就能做好準備 下一步,您可以啟用 App Check 強制執行功能:

在偵錯環境中使用 App Check

只要在應用程式註冊 App Check 後, 應用程式所在的環境中,App Check 通常不會歸類為有效應用程式。 例如電腦、開發期間的模擬器 您就能為應用程式建立偵錯版本 使用 App Check 偵錯供應商,而非真正的認證提供者。

請參閱「在 C++ 應用程式中搭配偵錯提供者使用 App Check」一文。