本頁面說明如何設定應用程式或遊戲來使用 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 回應。如要啟用這項功能,請完成下列步驟:
- 從 Google Cloud 控制台選擇現有專案或建立新專案。
- 前往「API 和服務」,然後選取「啟用 API 和服務」。
- 搜尋「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 管理回應加密作業,但您想改成自行管理並下載回應加密金鑰,請按照下列步驟操作:
- 登入 Play 管理中心。
- 選取使用 Play Integrity API 的應用程式。
- 在左選單的「版本」部分,依序前往「設定」>「應用程式完整性」。
- 前往「Integrity API」分頁標籤。
- 在頁面上的「設定」部分,按一下「回應加密金鑰」旁邊的「變更」。
- 在隨即顯示的視窗中,按一下「管理及下載我的回應加密金鑰」。
- 按照操作說明上傳公開金鑰。
- 當視窗顯示上傳成功後,按一下「儲存」,系統就會自動下載加密金鑰。
- 變更伺服器邏輯,讓系統透過您的回應加密金鑰,在本機安全伺服器環境中解密及驗證完整性權杖。
- (選用) 如果您自行管理回應加密金鑰,您的應用程式仍可改回由 Google Play 伺服器解密及驗證回應。
如果您是自行管理回應加密金鑰,但希望改為讓 Google 管理回應加密方式,請按照下列步驟操作:
- 變更伺服器邏輯,改成只在 Google 伺服器上進行解密及驗證。
- 登入 Play 管理中心。
- 選取使用 Play Integrity API 的應用程式。
- 在左選單的「版本」部分,依序前往「設定」>「應用程式完整性」。
- 前往「Integrity API」分頁標籤。
- 在頁面上的「設定」部分,按一下「回應加密金鑰」旁邊的「變更」。
- 在隨即顯示的視窗中,點選「讓 Google 管理我的回應加密設定 (建議)」。
- 按一下「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 的開發環境設定指南。