使用 Play Integrity API 检测存在风险的互动并防范滥用行为

您可以使用 Play Integrity API 保护您的应用和游戏,避免因为存在风险的互动而受到损害。通过识别这些互动,您的应用可以做出适当的响应,以降低遭到攻击和滥用的风险。

运作方式

Integrity API 将 Google Play 反滥用功能与一系列完整性信号结合起来,以帮助 Android 应用和游戏开发者检测可能存在风险的欺诈性流量。此类流量可能来自经过篡改的应用或游戏版本、不可信的设备或其他不可信的环境。通过检测此类流量,您可以采取适当的措施来减少攻击和滥用行为,如欺诈、欺骗和未经授权的访问。

当用户执行应用或游戏定义的操作时,您的服务器会指示客户端代码调用 Integrity API。Google Play 服务器会返回包含完整性判定的加密响应,以说明您是否可以信任该设备及其二进制文件。然后,您的应用会将该响应转发给您的服务器进行验证。您的服务器可以决定您的应用或游戏接下来应执行的操作。

该 API 会在响应中提供完整性判定,其中包含以下信息:

  • 正版应用二进制文件:确定您是否正在与 Google Play 可识别的未经修改的二进制文件进行互动。
  • 正规 Play 安装:确定当前用户账号是否已获得许可,获得许可意味着用户在 Google Play 上安装或购买了您的应用或游戏。
  • 正版 Android 设备:确定您的应用是否在由 Google Play 服务提供支持的正版 Android 设备(或 Google Play 游戏电脑版的正版实例)上运行。

提示

设置和管理 Play Integrity API

为您的应用启用 Integrity API

重要提示:访问或使用 Integrity API 即表示您同意接受 Play Integrity API 服务条款

如需为您的应用启用 Integrity API 响应,您需要在 Play 管理中心内关联一个 Google Cloud 项目。如需关联您的项目,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 选择“关联现有项目”和要关联的项目。
  4. 点击关联云项目

如需开始将 Integrity API 集成到您的应用中,您需要执行以下操作:

  • 对于 Java/Kotlin 应用,请从 Google Maven 代码库安装适用于 Play Integrity API 的最新可用 Android 库。
  • 对于 Unity 游戏,请安装最新发布版本的适用于 Unity 的 Google Play 插件。所有 2019.x、2020.x 版本和更高版本均受支持。如果您使用的是 Unity 2018.x,请安装 2018.4 或更高版本。如果您使用的是 Unity 2017.x,请安装 2017.4.40 或更高版本。Unity 5.x 及更早版本不受支持。
  • 对于原生应用和游戏,请安装最新 Play Core 原生 SDK

现在,您可以遵循 Android 开发者网站上的相应步骤,开始在您的应用或游戏中使用 Play Integrity API 了。

(可选)自定义 Integrity API 响应

默认情况下,系统会配置以下 API 响应:

API 响应 标签 说明
设备完整性 MEETS_DEVICE_INTEGRITY

应用正在由 Google Play 服务提供支持的 Android 设备上运行。设备通过了系统完整性检查,并且满足 Android 兼容性要求。

无标签(空白值)

应用正在存在被攻击迹象(如 API 挂接)或系统被侵入迹象(如取得 root 权限后入侵)的设备上运行,或者应用未在实体设备(如未通过 Google Play 完整性检查的模拟器)上运行。

账号详情 LICENSED

用户拥有应用使用权。换句话说,用户从 Google Play 安装或购买了您的应用。用户在卸载应用后仍会保留应用使用权,因此,如果用户日后通过其他方式获得同一应用,相应用户账号仍处于已获许可的状态。

UNLICENSED

用户没有应用使用权。例如,当用户旁加载了您的应用,或未从 Google Play 获取您的应用时,就会发生这种情况。

UNEVALUATED

由于未达成必要条件,系统未能评估许可详情。导致这种情况的原因可能有多种,其中包括以下原因:

  • 设备不够可信。
  • 设备上安装的应用是 Google Play 无法识别的版本。
  • 设备上安装的应用是 Google Play 无法识别的版本。
应用完整性 PLAY_RECOGNIZED

应用和证书与 Google Play 分发的版本相符。

UNRECOGNIZED_VERSION

证书或软件包名称与 Google Play 记录不符。

UNEVALUATED

未评估应用完整性。未达成必要条件,例如设备不够可信。

 

您也可以选择接收以下 API 响应:

API 响应 标签 说明
设备完整性 MEETS_BASIC_INTEGRITY 应用正在已通过基本系统完整性检查的设备上运行。设备可能不满足 Android 兼容性要求,也可能未被批准运行 Google Play 服务。例如,设备可能正在运行无法识别的 Android 版本、可能有已解锁的引导加载程序,或者可能没有经过制造商的认证。
MEETS_STRONG_INTEGRITY

应用正在由 Google Play 服务提供支持且具有强有力的系统完整性保证(如由硬件支持的密钥库)的 Android 设备上运行。设备通过了系统完整性检查,并且满足 Android 兼容性要求。

 

在您选择接收其他标签后,如果满足所有标签条件,完整性响应就会包含针对同一设备的多个标签。您可以准备您的后端服务器,使其根据可能的响应范围表现出不同的行为。例如,与仅返回 MEETS_BASIC_INTEGRITY 的设备相比,返回 MEETS_BASIC_INTEGRITYMEETS_DEVICE_INTEGRITYMEETS_STRONG_INTEGRITY 的设备可能更可信,并且您可以对服务器响应进行相应调整。

如果您分发到 Google Play 游戏电脑版,则会自动选择接收以下 API 响应:

您也可以选择接收以下 API 响应:

API 响应 标签 说明
设备完整性 MEETS_VIRTUAL_INTEGRITY 应用正在由 Google Play 服务提供支持的 Android 模拟器上运行。模拟器通过了系统完整性检查,并且满足核心 Android 兼容性要求。


如要修改 API 响应,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 点击设置
  4. 滚动到“响应”部分。
  5. 点击修改
  6. 选中或取消选中您要更改的 API 响应旁边的复选框。
  7. 点击保存更改

重要提示:对 API 响应所做的更改会在您保存后立即生效,当您的应用已发布为正式版时也是如此。在 Play 管理中心内更改 API 响应集合之前,请确保服务器已准备好接受这些响应。

(可选)配置传统请求设置

默认情况下,针对传统请求的响应加密由 Google 管理。不过,如果您愿意,也可以选择自行管理您的响应加密。

重要提示:如果要在“由 Google 管理”和“自行管理”这两种响应加密管理模式之间切换,您需要在后端服务器上更改代码。

如要自行管理响应加密,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 点击设置
  4. 滚动到“传统请求”部分。默认情况下,“响应加密”旁边的状态为“由 Google 管理”。点击更改
  5. 选择“管理和下载我的响应加密密钥”,然后点击保存更改。Google 将生成响应加密密钥供您下载和管理。您必须更新后端服务器逻辑才能使用相应密钥来解密响应。
  6. 按照屏幕上的说明生成 .pem 文件,然后上传该 .pem 文件,以下载您的 API 密钥。
  7. 屏幕上会显示一条确认消息,通知您响应加密管理已更新。
  8. 下载您的新响应加密密钥并更新后端服务器,以便在正式版应用中使用新密钥解密响应。返回到应用完整性页面上的 Integrity API 标签页,允许 Google Play 开始使用新的响应加密密钥(而不是旧密钥)。这项更改会立即生效。

如果您想从自行管理还原为由 Google 管理,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 点击设置
  4. 滚动到“传统请求”部分。由于您过去已进行更改,因此“响应加密”旁边的状态为“自行管理”。点击更改
  5. 选择“让 Google 管理我的响应加密事宜(推荐)”,然后点击保存更改。Google 将为您生成并管理响应加密密钥。您的后端服务器将调用 Google Play 的服务器来解密响应。

测试 Play Integrity API 集成

您可以设置一个 Gmail 账号列表以测试 Integrity API 集成。首先,请确保您的测试人员能够访问您的应用版本:

如要设置测试,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 点击设置
  4. 滚动到“测试”部分。
  5. 点击创建新的测试
  6. 选择一个电子邮件列表或创建一个新列表。
  7. 点击创建测试

提高 Play Integrity API 的每日请求次数上限

默认情况下,应用每天最多可以向 Integrity API 发出 10,000 次请求。

如要查看您的应用每天发出的请求量,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 查看应用的每日请求次数。您可以点击查看 Integrity API 报告,查看更多数据、更改时间段,以及应用过滤条件。

如要查看应用的每日请求次数上限,请按以下步骤操作:

  1. 打开 Play 管理中心,然后前往应用完整性页面(发布版本 > 应用完整性)。
  2. 滚动到“Play Integrity API”部分。
  3. 点击设置
  4. 查看用量层级。

您每天可以发出超过 10,000 次请求。为了符合条件,您必须:

  • 确认 API 逻辑(包括重试)的实现正确无误。
  • 除了任何其他发布渠道之外,还要在 Google Play 上发布您的应用。

如需提高每日请求次数上限,请填写此表单

相关内容

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
Google 应用
主菜单
6350709692652988262
true
搜索支持中心
true
true
true
true
true
92637