設定

本頁面說明如何設定應用程式或遊戲來使用 Play Integrity API。具體來說,您需要啟用來自這個 API 的回應,並將這個 API 整合至應用程式中。

您也可以選擇設定回應加密管理策略,並管理 API 傳送至應用程式的回應組合。

必要條件

如要將 Play Integrity API 整合至應用程式,請根據開發環境採取下列其中一種做法:

  • 如果應用程式使用 Kotlin 或 Java 程式設計語言,請從 Google 的 Maven 存放區安裝 Play Integrity API 的最新 Android 程式庫。詳情請參閱版本資訊
  • 如果是 Unity 遊戲,請安裝適用於 Unity 1.7.0 以上版本的 Google Play 外掛程式。所有 2019.x、2020.x 及後續推出的新版本都在支援範圍內。如果使用 Unity 2018.x,請安裝 2018.4 或以上版本。如果使用 Unity 2017.x,請安裝 2017.4.40 或以上版本。請注意,Unity 5.x 以下版本不屬於支援範圍。
  • 如果是原生應用程式和遊戲,請安裝 Play Core Native SDK 1.11.0 以上版本。

啟用 Play Integrity 回應

如要使用 Play Integrity API,您必須將應用程式連結至 Google Cloud 專案,藉此啟用 Play Integrity API 回應。之後,請按照操作說明將 API 整合至應用程式。

在 Google Play 發行的應用程式

在 Play 管理中心,前往左選單的「Release」部分。依序點選「設定」>「應用程式完整性」。選取「Integrity API」分頁標籤,即可開始使用。

不在 Google Play 發行的應用程式

您不必透過 Google Play 管理中心,即可為應用程式啟用 Play Integrity API 回應。如要啟用這項功能,請完成下列步驟:

  1. Google Cloud 控制台選擇現有專案或建立新專案。
  2. 前往「API 和服務」,然後選取「啟用 API 和服務」
  3. 搜尋「Play Integrity API」。選取這個 API,然後點選「啟用」

啟用 API 後,即可將 Play Integrity API 整合至應用程式

使用 Play Integrity API 的 SDK

如要在 SDK 中使用 Play Integrity API,必須符合下列條件:

  • 必須將 SDK 連結至 Google Cloud 專案,並啟用 Play Integrity API。
  • 為了接收及解密 Play Integrity API 回應,必須在要求中加入 Cloud 專案編號。您可以在 Google Cloud 控制台的「Project info」中找到專案編號。
  • 應用程式必須啟用 Play Integrity API,才能提出要求並呼叫 API。當在 Google Play 上架的應用程式使用您的 SDK 時,您對 Play Integrity API 提出的要求會自動計入應用程式的 API 用量。

Google Cloud 控制台中選擇專案後,請前往「API 和服務」,並選取「啟用 API 和服務」。搜尋「Play Integrity API」。選取這個 API,然後點選「啟用」。啟用 API 後,即可按照操作說明將 Play Integrity API 整合至應用程式,與 SDK 搭配使用。

設定回應的加密和解密方式 (選用)

根據預設,Google Play 的伺服器會管理應用程式在您與 Play Integrity API 互動時採用的回應加密方式。我們建議使用預設選項,但您也可以選擇自行管理及下載回應加密金鑰。

讓 Google 管理回應加密方式 (預設和建議選項)

為保障應用程式安全,建議您允許 Google 產生及管理您的回應加密金鑰。您的後端伺服器會呼叫 Google Play 的伺服器來解密回應。

管理及下載回應加密金鑰

如果您想在本機安全伺服器環境中解密完整性判定結果,可以自行管理及下載回應加密金鑰。

請記得,切勿在用戶端應用程式中解密或驗證收到的權杖,也不要將解密金鑰提供給用戶端應用程式。如要管理及下載回應加密金鑰,您必須使用 Play 管理中心,且在 Google Play 上架應用程式。

改成由 Google 管理或自行管理回應加密金鑰

如果目前由 Google 管理回應加密作業,但您想改成自行管理並下載回應加密金鑰,請按照下列步驟操作:

  1. 登入 Play 管理中心
  2. 選取使用 Play Integrity API 的應用程式。
  3. 在左選單的「版本」部分,依序前往「設定」>「應用程式完整性」。
  4. 前往「Integrity API」分頁標籤。
  5. 在頁面上的「設定」部分,按一下「回應加密金鑰」旁邊的「變更」
  6. 在隨即顯示的視窗中,按一下「管理及下載我的回應加密金鑰」
  7. 按照操作說明上傳公開金鑰。
  8. 當視窗顯示上傳成功後,按一下「儲存」,系統就會自動下載加密金鑰。
  9. 變更伺服器邏輯,讓系統透過您的回應加密金鑰,在本機安全伺服器環境中解密及驗證完整性權杖。
  10. (選用) 如果您自行管理回應加密金鑰,您的應用程式仍可改回由 Google Play 伺服器解密及驗證回應。

如果您是自行管理回應加密金鑰,但希望改為讓 Google 管理回應加密方式,請按照下列步驟操作:

  1. 變更伺服器邏輯,改成只在 Google 伺服器上進行解密及驗證。
  2. 登入 Play 管理中心
  3. 選取使用 Play Integrity API 的應用程式。
  4. 在左選單的「版本」部分,依序前往「設定」>「應用程式完整性」。
  5. 前往「Integrity API」分頁標籤。
  6. 在頁面上的「設定」部分,按一下「回應加密金鑰」旁邊的「變更」
  7. 在隨即顯示的視窗中,點選「讓 Google 管理我的回應加密設定 (建議)」
  8. 按一下「Save changes」

請務必先確認您的伺服器已正確設定,可以在本機或在 Google Play 伺服器上解密及驗證完整性權杖,之後再前往 Play 管理中心變更回應加密管理策略。

設定 API 回應 (選用)

Play Integrity API 的完整性判定結果提供下列主要信號:

  • 應用程式完整性。
  • 帳戶詳細資料。
  • 裝置完整性。

您可以編輯應用程式要接收的裝置完整性回應組合。選擇接收多個標籤,就能根據不同層級的裝置可信度建立強制執行策略。如要這麼做,請按照 Play 管理中心的指示操作。這個選項僅適用於在 Google Play 上架的應用程式。

將 Play Core 整合至應用程式

如要將 Play Integrity API 整合到您的應用程式,請參考以下的說明 (分別適用於不同的環境) 來進行整合作業。​

Kotlin 或 Java

如果您使用的是本機 Maven 存放區,請將下列依附元件新增至應用程式的 build.gradle 檔案:

implementation 'com.google.android.play:integrity:1.1.0'

Unity

請參閱「安裝適用於 Unity 的 Google 套件」。

原生

請參閱 Play Core Native 的開發環境設定指南