使用 Play Integrity API 偵測危險活動及防範濫用行為

您可以使用 Play Integrity API 避免自己的應用程式和遊戲涉及危險活動。透過辨識這些活動,您的應用程式可以做出妥善回應,降低遭到攻擊與濫用的風險。

運作方式

Integrity API 將 Google Play 的防濫用功能與一系列完整性信號結合,幫助 Android 應用程式和遊戲開發人員偵測可能有風險的虛假流量。這類流量可能來自經過修改的應用程式或遊戲版本,或是不可信任的裝置或環境。只要能偵測出這類流量,您就可以採取適當措施來避免遭受攻擊,以及防範詐欺、作弊、未經授權存取等濫用行為。

當使用者執行應用程式或遊戲定義的動作時,您的伺服器會指示用戶端程式碼叫用 Integrity API。Google Play 伺服器會傳回包含完整性判定結果的加密回應,指出您是否能信任這部裝置和相關二進位檔。接下來,您的應用程式就會將此回應轉送至您的伺服器進行驗證,以決定您的應用程式或遊戲接著應採取哪些行動。

API 會在回應中提供完整性判定結果,其中包含下列資訊:

  • 正版應用程式二進位檔:判斷您是否與 Google Play 認定的未修改二進位檔互動。
  • 正版 Play 安裝:判斷目前的使用者帳戶是否已獲得授權,也就是使用者已從 Google Play 安裝或付費購買您的應用程式或遊戲。
  • 正版 Android 裝置:判斷您的應用程式是否在 Google Play 服務 (或正規的 Google Play 遊戲電腦版) 支援的正版 Android 裝置上執行。

提示

設定及管理 Play Integrity API

為您的應用程式啟用 Integrity API

重要事項:存取或使用 Integrity API 即表示您同意《Play Integrity API 服務條款》。

如要為您的應用程式啟用 Integrity API 回應,您必須在 Play 管理中心連結 Google Cloud 專案。連結專案的步驟如下:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 選擇「連結現有專案」和要連結的專案。
  4. 按一下「連結 Cloud 專案」

如要將 Integrity API 整合到您的應用程式中,請採取下列行動:

  • 對於 Java/Kotlin 應用程式,請前往 Google 的 Maven 存放區安裝 Play Integrity API 的最新 Android 程式庫。
  • 對於 Unity 遊戲,請安裝最新版的 Unity 專用 Google Play 外掛程式。所有 2019.x、2020.x 版本及以上版本都在支援範圍內。如果您使用 Unity 2018.x,請安裝 2018.4 以上版本。如果您使用 Unity 2017.x,請安裝 2017.4.40 以上版本。Unity 5.x 以下版本不在支援範圍。
  • 對於原生應用程式和遊戲,請安裝最新版的 Play Core Native SDK

接下來,您就可以按照 Android 開發人員網站上的步驟,開始在您的應用程式或遊戲中使用 Play Integrity API。

(選用) 自訂 Integrity API 回應

根據預設,系統會設定下列 API 回應:

API 回應 標籤 說明
裝置完整性 MEETS_DEVICE_INTEGRITY

應用程式正在 Google Play 服務支援的 Android 裝置上執行。該裝置已通過系統完整性檢查,符合 Android 相容性條件。

無標籤 (空白值)

執行應用程式的裝置可能遭受攻擊 (例如掛接 API) 或系統遭到入侵 (例如已啟用 Root 權限);或者,應用程式不是在實體裝置上執行 (例如未通過 Google Play 完整性檢查的模擬器)。

帳戶詳細資料 LICENSED

使用者擁有應用程式授權。也就是說,使用者是從 Google Play 安裝或購買您的應用程式。解除安裝應用程式後,使用者仍保有該應用程式的授權,因此即便使用者日後又透過其他方式取得相同的應用程式,使用者帳戶仍會獲得授權。

UNLICENSED

使用者沒有應用程式授權。這可能是因為使用者側載了您的應用程式,或者不是從 Google Play 取得應用程式。

UNEVALUATED

由於未符合必要條件,系統無法評估授權詳細資料。這可能由許多因素造成,包括:

  • 裝置可信度不足。
  • Google Play 無法辨識裝置上安裝的應用程式版本。
  • Google Play 無法辨識裝置上安裝的應用程式版本。
應用程式完整性 PLAY_RECOGNIZED

應用程式和憑證符合 Google Play 發行的版本。

UNRECOGNIZED_VERSION

憑證或套件名稱與 Google Play 記錄不符。

UNEVALUATED

系統無法評估應用程式完整性,原因是未符合必要條件,例如裝置可信度不足。

 

您也可以選擇接收下列 API 回應:

API 回應 標籤 說明
裝置完整性 MEETS_BASIC_INTEGRITY 應用程式正在通過基本系統完整性檢查的裝置上執行。該裝置可能不符合 Android 相容性條件,也可能未獲准執行 Google Play 服務。舉例來說,該裝置可能正在執行無法辨識的 Android 版本、已解鎖系統啟動載入程式,或是未經製造商認證。
MEETS_STRONG_INTEGRITY

應用程式正在 Google Play 服務支援的 Android 裝置上執行,而且裝置設有硬體支援的 KeyStore 等措施,足以充分確保系統完整性。該裝置已通過系統完整性檢查,符合 Android 相容性條件。

 

由於完整性回應會包含所有符合的標籤,所以如果您選擇接收其他標籤,一部裝置的完整性回應就可能含有多個標籤。您可以讓後端伺服器根據可能的回應範圍做出不同處置。舉例來說,假如某部裝置傳回 MEETS_BASIC_INTEGRITYMEETS_DEVICE_INTEGRITYMEETS_STRONG_INTEGRITY,可能就比只傳回 MEETS_BASIC_INTEGRITY 的裝置值得信任,您可以據此調整伺服器回應。

如果您將應用程式發行到 Google Play 遊戲電腦版,系統會自動為您選擇接收下列 API 回應:

您也可以選擇接收下列 API 回應:

API 回應 標籤 說明
裝置完整性 MEETS_VIRTUAL_INTEGRITY 應用程式正在 Google Play 服務支援的 Android Emulator 上執行。該模擬器已通過系統完整性檢查,符合主要的 Android 相容性規定。


如何編輯 API 回應:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 按一下「設定」
  4. 捲動至「回應」部分。
  5. 按一下「編輯」
  6. 找到要變更的 API 回應,勾選或取消勾選旁邊的核取方塊。
  7. 按一下「儲存變更」

重要事項:對於 API 回應的變更會在儲存後立即生效,即使應用程式已發布正式版也是如此。因此,如要在 Play 管理中心變更一組 API 回應,請先確認您的伺服器已準備好接受這些回應。

(選用) 調整傳統要求設定

根據預設,Google 會管理傳統要求的回應加密設定。不過,您也可以選擇自行管理回應加密設定。

重要事項:如要變更回應加密設定的管理方式 (改成由 Google 管理或您自行管理),您需要在後端伺服器上更改程式碼。

如何改成自行管理回應加密設定:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 按一下「設定」
  4. 捲動至「傳統要求」部分。根據預設,「回應加密設定」旁邊會顯示「由 Google 管理」狀態。按一下「變更」
  5. 選擇「管理及下載我的回應加密金鑰」,然後按一下「儲存變更」。Google 會產生供您下載與管理的回應加密金鑰。您必須更新後端伺服器邏輯,才能使用這些金鑰解密回應。
  6. 按照畫面上的指示產生 .pem 檔案並上傳 .pem 檔案,即可下載 API 金鑰。
  7. 畫面上會顯示訊息,確認回應加密管理設定已更新。
  8. 下載新的回應加密金鑰並更新後端伺服器,即可在實際作業環境中運用金鑰解密回應。返回「應用程式完整性」頁面的「Integrity API」分頁,設定 Google Play 開始使用新的回應加密金鑰,而不再使用舊金鑰。這項變更會立即生效。

如何從自行管理改回由 Google 管理:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 按一下「設定」
  4. 捲動至「傳統要求」部分。由於您之前改過設定,所以「回應加密設定」旁邊會顯示「自行管理」狀態。按一下「變更」
  5. 選擇「讓 Google 管理我的回應加密設定 (建議)」,然後按一下「儲存變更」。Google 會產生並管理您的回應加密金鑰,您的後端伺服器會呼叫 Google Play 的伺服器來解密回應。

測試 Play Integrity API 整合成果

您可以設定用來測試 Integrity API 整合成果的 Gmail 帳戶清單。首先,請確認測試人員可以存取相關版本:

如何設定測試:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 按一下「設定」
  4. 捲動至「測試」部分。
  5. 按一下「建立新測試」。
  6. 選取電子郵件名單或建立新的電子郵件名單。
  7. 按一下「建立測試」。

提高 Play Integrity API 的每日要求上限

根據預設,應用程式每天最多可以向 Integrity API 提出要求 10,000 次。

如何查看應用程式每天提出的要求次數:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 查看每日要求次數。按一下「查看 Integrity API 報表」,即可查看更多資料、變更時間範圍及套用篩選器。

如何查看應用程式的每日要求次數上限:

  1. 開啟 Play 管理中心,然後前往「應用程式完整性頁面 (依序點選「發布」>「應用程式完整性」)。
  2. 捲動至「Play Integrity API」部分。
  3. 按一下「設定」
  4. 查看用量層級。

您可以申請每日提出超過 10,000 次要求,但必須採取以下行動才符合資格:

  • 確認 API 邏輯 (包括重試) 的實作正確無誤。
  • 在 Google Play 與其他發行管道發布您的應用程式。

如要提高每日要求次數上限,請填寫這份表單

相關內容

這對您有幫助嗎?

我們應如何改進呢?
搜尋
清除搜尋內容
關閉搜尋
Google 應用程式
主選單
5409766714029978811
true
搜尋說明中心
true
true
true
true
true
92637