您可以使用 Play Integrity API 保护您的应用和游戏,避免因为存在风险的互动而受到损害。通过识别这些互动,您的应用可以做出适当的响应,以降低遭到攻击和滥用的风险。
运作方式
Integrity API 将 Google Play 反滥用功能与一系列完整性信号结合起来,以帮助 Android 应用和游戏开发者检测可能存在风险的欺诈性流量。此类流量可能来自经过篡改的应用或游戏版本、不可信的设备或其他不可信的环境。通过检测此类流量,您可以采取适当的措施来减少攻击和滥用行为,如欺诈、欺骗和未经授权的访问。
当用户执行应用或游戏定义的操作时,您的服务器会指示客户端代码调用 Integrity API。Google Play 服务器会返回包含完整性判定的加密响应,以指明您是否可以信任该设备及其二进制文件。然后,您的应用会将该响应转发给您的服务器进行验证。您的服务器可以决定您的应用或游戏接下来应执行的操作。
该 API 会在响应中提供完整性判定,其中包含以下信息:
- 正版应用二进制文件:确定您是否正在与 Google Play 可识别的未经修改的二进制文件进行互动。
- 正规 Play 安装:确定当前用户账号是否已获得许可,获得许可意味着用户在 Google Play 上安装或购买了您的应用或游戏。
- 正版 Android 设备:确定您的应用是否在由 Google Play 服务提供支持的正版 Android 设备(或 Google Play Games 电脑版的正版实例)上运行。
您还可以选择在完整性判定结果中接收有关环境的其他信息:
- 应用访问风险:确定是否有其他正在运行的应用可能会截屏、在您的应用上显示叠加层或控制设备。
- 已知恶意软件风险:确定 Google Play 保护机制是否已开启,以及是否在设备上发现了已知恶意软件。
提示:
- 您可以通过 Google Play 状态信息中心监控 Play Integrity API 及其他 Play 服务的状态。
- 如果您遵循 Android 开发者网站上的文档中列出的所有建议做法,Integrity API 即可为您的应用带来最大价值。
设置和管理 Play Integrity API
为您的应用启用 Integrity API
如需为您的应用启用 Integrity API 响应,您需要在 Play 管理中心内关联一个 Google Cloud 项目。如需关联您的项目,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 选择“关联现有项目”和要关联的项目。
- 点击关联云项目。
如需开始将 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 完整性响应,请访问 Android 开发者网站。
如需修改 API 响应,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 点击设置。
- 滚动到“响应”部分。
- 点击修改。
- 选中或取消选中您要更改的 API 响应旁边的复选框。
- 点击保存更改。
重要提示:对 API 响应所做的更改会在您保存后立即生效,当您的应用已发布为正式版时也是如此。在 Play 管理中心内更改 API 响应集合之前,请确保服务器已准备好接受这些响应。
(可选)配置传统请求设置
默认情况下,针对传统请求的响应加密由 Google 管理。不过,如果您愿意,也可以选择自行管理您的响应加密。
重要提示:如果要在“由 Google 管理”和“自行管理”这两种响应加密管理模式之间切换,您需要在后端服务器上更改代码。
如要自行管理响应加密,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 点击设置。
- 滚动到“传统请求”部分。默认情况下,“响应加密”旁边的状态为“由 Google 管理”。点击更改。
- 选择“管理和下载我的响应加密密钥”,然后点击保存更改。Google 将生成响应加密密钥供您下载和管理。您必须更新后端服务器逻辑才能使用相应密钥来解密响应。
- 按照屏幕上的说明生成 .pem 文件,然后上传该 .pem 文件,以下载您的 API 密钥。
- 屏幕上会显示一条确认消息,通知您响应加密管理已更新。
- 下载您的新响应加密密钥并更新后端服务器,以便在正式版应用中使用新密钥解密响应。返回到应用完整性页面上的 Integrity API 标签页,允许 Google Play 开始使用新的响应加密密钥(而不是旧密钥)。这项更改会立即生效。
如果您想从自行管理还原为由 Google 管理,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 点击设置。
- 滚动到“传统请求”部分。由于您过去已进行更改,因此“响应加密”旁边的状态为“自行管理”。点击更改。
- 选择“让 Google 管理我的响应加密事宜(推荐)”,然后点击保存更改。Google 将为您生成并管理响应加密密钥。您的后端服务器将调用 Google Play 的服务器来解密响应。
测试 Play Integrity API 集成
如需测试 Integrity API 集成,您可以设置一个 Gmail 账号列表。首先,请确保您的测试人员能够访问您的应用版本。将您的应用发布到内部测试轨道或您要进行测试的轨道。然后,按照有关通过电子邮件地址管理测试人员或使用 Google 群组管理测试人员的说明进行操作,以便测试人员能够访问您的应用版本。
如要设置测试,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 点击设置。
- 滚动到“测试”部分。
- 点击创建新的测试。
- 选择一个电子邮件列表或创建一个新列表。
- 点击创建测试。
自定义用户通过 Integrity API 对话框访问的商品详情
如果用户通过非官方渠道获取了您的应用,您可以使用 Integrity API 补救措施对话框,提示用户从 Google Play 获取您的应用。当用户点按该对话框时,系统会将其重定向到您应用的商品详情,以便用户点按“安装”(或者“购买”或“更新”)按钮,从而将应用添加到用户的 Play 内容库。
您可以针对点按 Integrity API 补救措施对话框的所有访问者自定义商品详情资源,包括应用的名称、图标、说明和图形资源。如要自定义用户通过 Integrity API 对话框访问的商品详情,请执行以下操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 点击设置。
- 滚动到“自定义商品详情”部分。
- 点击创建商品详情。
- 按照创建自定义商品详情页面上的说明操作,然后点击保存。
或者,您也可以直接在“自定义商品详情”页面中为 Integrity API 对话框创建自定义商品详情:
- 打开 Play 管理中心,然后前往自定义商品详情页面(扩大用户群 > 自定义商品详情)。
- 点击创建商品详情,选择“创建新商品详情”或“复制现有商品详情”,然后点击下一步。
- 在“商品详情”下,找到“目标受众群体”部分。
- 选择按网址,然后在文本框中输入“playintegrity”。
- 输入所有其他详细信息,然后点击保存。
提示:网址参数“playintegrity”是一个专为完整性深层链接预留的特殊关键字,因此在设置自定义商品详情时,您必须准确无误地输入该参数。
提高 Play Integrity API 的每日请求次数上限
默认情况下,应用每天最多可以向 Integrity API 发出 10,000 次请求。
如要查看您的应用每天发出的请求量,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 查看应用的每日请求次数。如需查看更多数据、更改时间段以及应用过滤条件,请点击查看 Integrity API 报告。
如要查看应用的每日请求次数上限,请按以下步骤操作:
- 打开 Play 管理中心,然后前往应用完整性页面(
测试和发布
> 应用完整性)。 - 滚动到“Play Integrity API”部分。
- 点击设置。
- 查看用量层级。
您可以申请每天发出超过 10,000 次请求。为了符合这一条件,您必须:
- 确认 API 逻辑(包括重试)的实现正确无误。
- 除了任何其他发布渠道之外,还要在 Google Play 上发布您的应用。
如需提高每日请求次数上限,请填写此表单。