電腦版的 Google Play 遊戲電腦版支援完整防護功能,透過 Play Integrity API 和其他幾項 Google Play 功能,確保遊戲不會遭到竄改,或者從不可靠的來源安裝。
Play Integrity API
Play Integrity API 可協助防範您的遊戲發生具有潛在風險的詐欺活動,並降低攻擊和濫用行為,例如詐欺、作弊及未經授權的存取。Play Integrity API 會取代 SafetyNet Attestation API (SNAA) 和 Play App Licencing API。SNAA 不支援 Google Play 遊戲電腦版。
裝置完整性欄位
deviceRecognitionVerdict
欄位含有單一的值 deviceRecognitionVerdict
,該值表示裝置可強制執行應用程式完整性檢查的程度。根據預設,deviceRecognitionVerdict
可具有下列其中一個值:
MEETS_DEVICE_INTEGRITY
:應用程式在搭載 Google Play 服務且支援 Android 的裝置上執行。該裝置已通過系統完整性檢查,符合 Android 相容性條件。MEETS_VIRTUAL_INTEGRITY
:應用程式在搭載 Google Play 服務的虛擬 Android 環境中執行,目前僅支援 Google Play 遊戲電腦版。該環境符合 Android 核心相容性要求,且已通過 Google Play 完整性檢查。- 無 (例如空白值):應用程式在可能遭受攻擊 (例如掛接 API) 或系統遭到入侵 (例如已啟用 Root 權限) 的裝置上執行;或者,應用程式在未通過 Google Play 完整性檢查的非實體裝置上執行 (例如模擬器)。
Play Integrity API 使用 deviceRecognitionVerdict
值 MEETS_VIRTUAL_INTEGRITY
表示遊戲是在 Google Play 遊戲電腦版上執行。以下是傳遞 Play Integrity API 回應的範例:
deviceIntegrity: {
// "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}
如果您的跨平台遊戲同時在 Google Play 遊戲電腦版和電腦版上架,請確保驗證邏輯會一併檢查 MEETS_VIRTUAL_INTEGRITY
和 MEETS_DEVICE_INTEGRITY
。
自動完整防護
自動完整防護是 Google Play 在您的遊戲每次開啟時新增的執行階段檢查。如果遊戲遭到竄改或未透過 Google Play 安裝,自動完整防護功能會禁止遊戲執行。自動完整防護功能不會檢查裝置。如要取得裝置完整性狀態,必須使用 Play Integrity API。
自動完整防護功能提供以下措施,可協助保護完整性:
- 必須從 Google Play 安裝:加入檢查程序,偵測應用程式的安裝來源是否為 Google Play。如果檢查失敗,系統會提示使用者前往 Google Play 取得您的應用程式。這項功能預設會開啟,但您可以將其關閉。這項功能關閉後,系統會一併停用付費應用程式的盜版防護。
- 限制修改:加入檢查程序,偵測應用程式是否未經修改。如果檢查失敗,應用程式將無法執行。系統一律會開啟這項功能,您無法自行關閉。
- 限制反向工程:加入模糊處理和其他進階技術,讓攻擊者難以移除執行階段檢查。系統一律會開啟這項功能,您無法自行關閉。
自動完整防護功能須由開發人員自行選擇採用。無需變更程式碼或開發人員作業。
無論是否有數據連線或網際網路連線,防護功能都會執行,而且不需要使用伺服器端元件。如果裝置上的 Play 商店應用程式已處於離線狀態一段時間,「必須從 Google Play 安裝」檢查作業會定期要求進行數據連線。