您可以使用 Play Integrity API 避免自己的應用程式和遊戲涉及危險活動。透過辨識這些活動,您的應用程式可以做出妥善回應,降低遭到攻擊與濫用的風險。
運作方式
Play Integrity API 可確認使用者互動和伺服器要求是否來自未經修改的應用程式二進位檔 (由 Google Play 安裝),並透過正版 Android 裝置 (或正版 Google Play Games 電腦版) 執行,有助於防止應用程式和遊戲遭到濫用。藉由偵測多種威脅 (例如修改版應用程式、不可信任的裝置或其他不可信任的環境),您就能採取適當的因應措施,降低遭受詐欺、作弊和未經授權存取等攻擊的風險。
使用者執行操作時,應用程式會要求 Play Integrity API 進行評估。Google Play 伺服器會傳回包含完整性判定結果的加密回應,再由您的應用程式轉送到伺服器接受驗證。後端伺服器會根據這項判定結果,決定應用程式或遊戲接下來的動作。
API 會傳回判定結果,方便您偵測潛在威脅,包括:
- 未經授權的存取行為:根據
accountDetails判決結果,您可以判斷使用者是否透過 Google Play 安裝或購買應用程式/遊戲。 - 程式碼遭竄改:根據
appIntegrity判定結果,您可以判斷目前是否與 Google Play 認定的未修改二進位檔互動。 - 有風險的裝置和模擬環境:根據
deviceIntegrity判定結果,您可以判斷應用程式是否在正版認證 Android 裝置上執行,或在正版 Google Play Games 電腦版中執行。
重點:Play Integrity API 評估環境時,會參考採用專屬硬體的安全信號,這類信號可有效抵禦攻擊和規避行為。Play Integrity API 簡化了不同 Android SDK 版本、裝置製造商佈建金鑰及裝置型號的信號複雜度與問題緩解措施,讓開發人員能更輕鬆地進行整合與後續管理。
Google Play 開發人員也可以選擇接收其他判定結果,偵測範圍更廣的潛在威脅,包括:
- 未經修補的裝置:
MEETS_STRONG_INTEGRITY判定結果中的MEETS_STRONG_INTEGRITY回應,有助於判斷裝置是否已套用最新的安全性更新 (適用於搭載 Android 13 以上版本的裝置)。 - 其他應用程式帶有風險的存取行為:
appAccessRiskVerdict有助於您判斷目前是否有執行中的應用程式,可能用於螢幕截圖、重疊顯示或控制裝置 (例如濫用無障礙權限)。 - 已知惡意軟體:
playProtectVerdict有助於您判斷 Google Play 安全防護是否已啟用,以及裝置是否安裝了有風險或危險的應用程式。 - 活動過於頻繁:
recentDeviceActivity層級有助於您判斷裝置近期是否發出異常大量的要求,這可能表示有自動流量,也可能是遭受攻擊的跡象。 - 重複濫用和重複使用的裝置:
deviceRecall(Beta 版) 有助於您判斷互動的裝置是否曾遭到標記,即使應用程式已重新安裝或裝置已重設也一樣。
這個 API 適用於各種 Android 板型規格,包括手機、平板電腦、摺疊式裝置、Android Auto、Android TV、Android XR、ChromeOS、Wear OS,以及 Google Play Games 電腦版。
提示:
- 您可以使用 Google Play 狀態資訊主頁監控 Play Integrity API 和其他 Play 服務的狀態。
- 如果採用 Android 開發人員網站說明文件中的建議做法,即可充分發揮 Integrity API 的效用。
設定及管理 Play Integrity API
為您的應用程式啟用 Integrity API
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 點選「開始使用」。
- 選擇「連結現有專案」和要連結的專案。
- 按一下「連結 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 回應
如要瞭解如何設定 Integrity API 回應,請造訪 Android 開發人員網站。
如何編輯 API 回應:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 按一下「管理」。
- 捲動到「回應」部分。
- 點選「編輯」。
- 找到要變更的 API 回應,勾選或取消勾選旁邊的核取方塊。
- 按一下「儲存變更」。
重要事項:對於 API 回應的變更會在儲存後立即生效,即使應用程式已發布正式版也是如此。因此,如要在 Play 管理中心變更一組 API 回應,請先確認您的伺服器已準備好接受這些回應。
(選用) 調整傳統要求設定
根據預設,Google 會管理傳統要求的回應加密設定。不過,您也可以選擇自行管理回應加密設定。
如何改成自行管理回應加密設定:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 按一下「管理」。
- 捲動到「傳統要求」部分。根據預設,「回應加密設定」旁邊會顯示「由 Google 管理」狀態。按一下「變更」。
- 選擇「管理及下載我的回應加密金鑰」,Google 會產生供您下載與管理的回應加密金鑰。您必須更新後端伺服器邏輯,才能使用這些金鑰解密回應。
- 按照畫面上的指示產生 .pem 檔案並上傳 .pem 檔案,即可下載 API 金鑰。
- 按一下「儲存變更」。
- 畫面上會顯示訊息,確認回應加密管理設定已更新。
- 新的回應加密金鑰會自動下載。日後如有需求,您隨時都可點選「下載金鑰」來下載。
如何從自行管理改回由 Google 管理:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 按一下「管理」。
- 捲動到「傳統要求」部分。由於您之前改過設定,所以「回應加密設定」旁邊會顯示「自行管理」狀態。點選「編輯」。
- 選擇「讓 Google 管理我的回應加密設定 (建議)」,然後按一下「儲存變更」。Google 會產生並管理您的回應加密金鑰,您的後端伺服器必須呼叫 Google Play 的伺服器來解密回應。
測試 Play Integrity API 整合成果
如要測試 Integrity API 整合成果,您可以設定 Gmail 帳戶清單。首先,請確認測試人員可以存取相關版本,做法是將應用程式發布至內部測試群組或其他預定使用的測試群組,然後參照依電子郵件地址管理測試人員或 Google 網路論壇的說明,確認測試人員可以存取您的版本。
如何設定測試:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 按一下「管理」。
- 捲動到「測試」部分。
- 按一下「建立新測試」。
- 選取電子郵件名單或建立新的電子郵件名單。
- 點選「建立測試」。
對於透過 Integrity API 對話方塊造訪的使用者,顯示量身打造的商店資訊
您可以使用 Integrity API 修復對話方塊,提示透過非正規管道取得應用程式的使用者前往 Google Play 取得應用程式。使用者輕觸對話方塊後,就會重新導向到您的商店資訊,可以輕觸安裝 (或者購買或更新) 按鈕,將應用程式加入自己的 Play 媒體庫。
針對輕觸 Integrity API 修復對話方塊的訪客,您可以自訂商店資訊素材資源,包括應用程式名稱、圖示、說明和圖像資源。如有這類需求,請執行下列步驟:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 按一下「管理」。
- 捲動到「自訂商店資訊」部分。
- 按一下「建立商店資訊」。
- 按照「建立自訂商店資訊」頁面的說明操作,按一下「儲存」。
您也可以直接在「自訂商店資訊」頁面上,建立針對 Integrity API 對話方塊顯示的自訂商店資訊:
- 開啟 Play 管理中心,前往「自訂商店資訊」頁面 (依序點選「拓展使用者數量」>「自訂商店資訊」)。
- 按一下「建立商店資訊」,選擇建立新商店資訊或複製現有商店資訊,然後點選「下一步」。
- 在「應用程式詳細資訊」下方,找到「目標對象」部分。
- 選取「依網址」,在文字方塊中輸入「playintegrity」。
- 輸入其餘詳細資料,然後點選「儲存」。
提示:「playintegrity」網址參數是專門保留給完整性深層連結的特殊關鍵字,設定自訂商店資訊時,請務必一字不漏輸入這個參數。
提高 Play Integrity API 的每日要求上限
根據預設,應用程式每天最多可以向 Integrity API 提出要求 10,000 次。
如何查看應用程式每天提出的要求次數:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「監控 Play Integrity API」部分。
- 按一下監控資訊卡,開啟 Integrity API 報表,查看每日要求次數。
如何查看應用程式的每日要求次數上限:
- 開啟 Play 管理中心,前往左選單的「由 Google Play 保護」。
- 捲動到「Play Integrity API」部分。
- 按一下「管理」。
- 查看每日配額。
您可以申請每日提出超過 10,000 次要求,但必須採取以下行動才符合資格:
- 確認 API 邏輯 (包括重試) 的實作正確無誤。
- 在 Google Play 與其他發行管道發布您的應用程式。
如要提高每日要求次數上限,請填寫這份表單。