Google Play 遊戲電腦版的完整性防護措施

電腦版的 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 使用 deviceRecognitionVerdictMEETS_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_INTEGRITYMEETS_DEVICE_INTEGRITY

自動完整防護

自動完整防護是 Google Play 在您的遊戲每次開啟時新增的執行階段檢查。如果遊戲遭到竄改或未透過 Google Play 安裝,自動完整防護功能會禁止遊戲執行。自動完整防護功能不會檢查裝置。如要取得裝置完整性狀態,必須使用 Play Integrity API。

自動完整防護功能提供以下措施,可協助保護完整性:

  • 必須從 Google Play 安裝:加入檢查程序,偵測應用程式的安裝來源是否為 Google Play。如果檢查失敗,系統會提示使用者前往 Google Play 取得您的應用程式。這項功能預設會開啟,但您可以將其關閉。這項功能關閉後,系統會一併停用付費應用程式的盜版防護。
  • 限制修改:加入檢查程序,偵測應用程式是否未經修改。如果檢查失敗,應用程式將無法執行。系統一律會開啟這項功能,您無法自行關閉。
  • 限制反向工程:加入模糊處理和其他進階技術,讓攻擊者難以移除執行階段檢查。系統一律會開啟這項功能,您無法自行關閉。

自動完整防護功能須由開發人員自行選擇採用。無需變更程式碼或開發人員作業。

無論是否有數據連線或網際網路連線,防護功能都會執行,而且不需要使用伺服器端元件。如果裝置上的 Play 商店應用程式已處於離線狀態一段時間,「必須從 Google Play 安裝」檢查作業會定期要求進行數據連線。