适用于PC上的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应用许可API。SNAA不适用于PC上的Google Play游戏。

设备完整性字段

deviceRecognitionVerdict字段包含一个单一值,deviceRecognitionVerdict,表示设备执行应用完整性的能力。默认情况下,deviceRecognitionVerdict可以具有以下值之一

  • MEETS_DEVICE_INTEGRITY:应用在具有Google Play服务的Android设备上运行。该设备通过系统完整性检查并满足Android兼容性要求。
  • MEETS_VIRTUAL_INTEGRITY:应用在具有Google Play服务的虚拟Android环境中运行,目前仅限于PC上的Google Play游戏。该环境满足核心Android兼容性要求并通过Google Play完整性检查。
  • 无(空白值):应用在具有攻击迹象(例如API挂钩)或系统受损(例如已root)的设备上运行,或者应用在未通过Google Play完整性检查的非物理设备(例如模拟器)上运行。

Play Integrity API使用deviceRecognitionVerdictMEETS_VIRTUAL_INTEGRITY来指示游戏正在PC上的Google Play游戏上运行。以下是从Play Integrity API获得的通过响应的示例

deviceIntegrity: {
    // "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

如果您在移动设备和PC上的Google Play游戏中都提供了跨平台游戏,请确保您的验证逻辑同时检查MEETS_VIRTUAL_INTEGRITYMEETS_DEVICE_INTEGRITY

自动完整性保护

每次打开游戏时, 自动完整性保护都会添加Google Play的运行时检查。如果您的游戏被篡改或未由Google Play安装,自动完整性保护可以阻止其运行。自动完整性保护不会检查设备。您必须使用Play Integrity API才能获取设备完整性状态。

自动完整性保护通过以下功能帮助 保护完整性

  • 要求从Google Play安装:添加一个检查以查看您的应用是否已从Google Play安装。如果此检查失败,则会提示用户从Google Play获取您的应用。此功能默认开启,但您可以将其关闭。关闭此功能将禁用付费应用的盗版保护。
  • 限制修改:添加一个检查以查看您的应用是否未经修改。如果此检查失败,则应用将无法运行。此功能始终开启,无法关闭。
  • 限制逆向工程:添加混淆和其他高级技术,使攻击者难以删除运行时检查。此功能始终开启,无法关闭。

自动完整性保护要求开发者选择加入。它不需要任何代码更改或开发者工作。

无论是否有数据或互联网连接,保护措施都会运行。不需要任何服务器端组件。“要求从Play安装”检查会定期要求数据连接,如果设备上的Play商店应用已离线较长时间。