Google Play 游戏电脑版的完整性保护

PC 版 Google Play 游戏电脑版通过 Play Integrity API 和多项其他 Google Play 功能支持完整性保护,有助于确保您的游戏不会遭到不可信来源的篡改或从不可信来源安装。

Play Integrity API

Play Integrity API 有助于保护您的游戏,使其免受可能存在风险的欺诈性互动的危害。借助此 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 服务(目前仅限于 Google Play 游戏电脑版)的虚拟 Android 环境中运行。该环境满足核心 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 安装”检查会定期要求进行数据网络连接。