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

本頁面說明如何在 C++ 應用程式中啟用 App Check,並使用預設供應商:Android 上的 Play Integrity,以及 Apple 平台上的 Device Check 或 App Attest。啟用 App Check 後,只有您的應用程式可以存取專案的 Firebase 資源。請參閱這項功能的總覽

1. 設定 Firebase 專案

  1. 如果您尚未將 Firebase 新增至 C++ 專案,請先新增。

  2. 在 Firebase 控制台的「專案設定」>「App Check」部分,為應用程式註冊透過 Play Integrity、Device Check 或 App Attest 供應商使用 App Check。

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

    如需向各供應商註冊的詳細操作說明,請參閱 Android 和 iOS 專屬說明文件。

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

    • 安全性:存留時間越短,安全性就越高,因為這樣可縮短攻擊者濫用外洩或遭攔截權杖的時間範圍。
    • 效能: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. 使用 Device Check 或 App Attest 提供者初始化 App Check 程式庫:

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

後續步驟

在應用程式中安裝 App Check 程式庫後,即可開始向使用者發布更新版應用程式。

更新後的用戶端應用程式會開始在每次向 Firebase 發出要求時,一併傳送 App Check 權杖,但您必須在 Firebase 控制台的 App Check 專區啟用強制執行功能,Firebase 產品才會要求權杖有效。

監控指標並啟用強制執行功能

不過,啟用強制執行前,請先確認這麼做不會影響現有的合法使用者。另一方面,如果發現應用程式資源有可疑的使用情形,建議盡快啟用強制執行功能。

如要協助您做出這項決定,可以查看所用服務的 App Check 指標:

啟用 App Check 強制執行功能

瞭解 App Check 對使用者的影響後,即可啟用 App Check 強制執行功能:

在偵錯環境中使用 App Check

如果您已註冊應用程式以使用 App Check,但想在 App Check 通常不會歸類為有效的環境中執行應用程式 (例如在開發期間使用桌面電腦、模擬器,或透過持續整合 (CI) 環境),可以建立應用程式的偵錯版本,使用 App Check 偵錯供應器,而非實際的認證供應器。

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