Google Play游戏在PC上的完整性保护

Google Play游戏在PC上通过Play Integrity API和其他一些Google Play功能支持完整性保护,以帮助确保您的游戏未被篡改或从不可信来源安装。

Play Integrity API

Play Integrity API有助于保护您的游戏免受潜在的风险和欺诈性交互。该API使您能够减少诸如欺诈、作弊和未经授权的访问等攻击和滥用。 Play Integrity API 替换了SafetyNet Attestation API (SNAA)和Play应用许可API。SNAA不适用于Google Play游戏在PC上。

设备完整性字段

deviceRecognitionVerdict 字段包含单个值,deviceRecognitionVerdict,表示设备在多大程度上可以强制执行应用完整性。默认情况下,deviceRecognitionVerdict 可以具有以下值之一

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

Play Integrity API使用deviceRecognitionVerdictMEETS_VIRTUAL_INTEGRITY 指示游戏正在Google Play游戏在PC上运行。以下是由Play Integrity API返回的通过响应示例

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

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

自动完整性保护

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

自动完整性保护有助于保护以下功能的完整性

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

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

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