本页介绍了如何设置您的应用或游戏以使用 Play Integrity API。具体来讲,您需要启用来自该 API 的响应,并将该 API 集成到您的应用中。
您还可以选择配置响应加密管理策略,以及管理 API 发送给应用的响应集合。
前提条件
如需将 Play Integrity API 集成到您的应用中,请根据您的开发环境执行以下其中一项操作:
- 对于使用 Kotlin 或 Java 编程语言的应用,请从 Google 的 Maven 制品库安装适用于 Play Integrity API 的最新 Android 库。如需了解详情,请参阅版本说明。
- 对于 Unity 游戏,请安装适用于 Unity 1.7.0 或更高版本的 Google Play 插件。所有 2019.x、2020.x 版本和更高版本均受支持。如果您使用的是 Unity 2018.x,请安装 2018.4 或更高版本。如果您使用的是 Unity 2017.x,请安装 2017.4.40 或更高版本。请注意,Unity 5.x 及更早版本不受支持。
- 对于原生应用和游戏,请安装 Play Core 原生 SDK 1.11.0 或更高版本。
启用 Play 完整性响应
如需使用 Play Integrity API,您必须将应用关联到 Google Cloud 项目,以启用 Play Integrity API 响应。然后,按照说明将该 API 集成到您的应用中。
Google Play 上的应用
在 Play 管理中心内,前往左侧菜单中的版本部分。依次点击设置 > 应用完整性。选择 Integrity API 标签页即可开始。
在 Google Play 之外专门分发的应用
您无需使用 Google Play 管理中心,即可为您的应用启用 Play Integrity API 响应。为此,请完成以下步骤:
- 从 Google Cloud 控制台选择现有项目或创建新项目。
- 前往 API 和服务,然后选择启用 API 和服务。
- 搜索 Play Integrity API。选中该 API,然后选择启用。
启用该 API 后,您可以将 Play Integrity API 集成到您的应用中。
使用 Play Integrity API 的 SDK
如需在您的 SDK 中使用 Play Integrity API,必须满足以下条件:
- 您必须将 SDK 关联到 Google Cloud 项目并启用 Play Integrity API。
- 如需接收和解密 Integrity API 响应,您需要在请求中包含 Cloud 项目编号。您可以在 Google Cloud 控制台的项目信息中找到该编号。
- 调用您的 API 的请求应用必须针对其应用启用 Play Integrity API。当已在 Google Play 上架的应用使用您的 SDK 时,您对 Play Integrity API 的请求将自动计入应用的 API 使用量。
在 Google Cloud 控制台中选择项目后,请前往 API 和服务,然后选择启用 API 和服务。搜索 Play Integrity API。选中该 API,然后选择启用。启用该 API 后,您可以按照将 Play Integrity API 集成到您的应用中一文中的说明为 SDK 执行操作。
配置响应的加密方式和解密方式(可选)
默认情况下,Google Play 的服务器会管理您的应用在与 Play Integrity API 互动时使用的响应加密。虽然我们建议您使用此默认选项,但您也可以选择管理和下载响应加密密钥。
让 Google 管理您的响应加密(默认和推荐做法)
为保证应用的安全性,建议您允许 Google 生成和管理响应加密密钥。您的后端服务器将调用 Google Play 的服务器为响应解密。
管理和下载我的响应加密密钥
如果要在自己的安全服务器环境中以本地方式解密完整性判定,您可以管理和下载响应加密密钥。
切记,不要在客户端应用中解密或验证收到的令牌,也不要将任何解密密钥公开给客户端应用。要管理和下载您的响应加密密钥,您必须使用 Play 管理中心,并且您的应用必须在 Google Play 上架。
在 Google 管理的响应加密密钥和自行管理的响应加密密钥之间切换
如果 Google 目前负责管理您的响应加密,而您想改为自行管理和下载响应加密密钥,请按以下步骤操作:
- 登录 Play 管理中心。
- 选择一个使用 Play Integrity API 的应用。
- 在左侧菜单中的版本部分中,依次点击设置 > 应用完整性。
- 转到 Integrity API 标签页。
- 在该页面的设置部分中,点击响应加密密钥旁边的更改。
- 在随即显示的窗口中,点击管理和下载我的响应加密密钥。
- 按照说明上传公钥。
- 在窗口显示上传成功后,点击保存,然后系统会自动下载加密的密钥。
- 更改服务器逻辑,以便使用您的响应加密密钥在自己的安全服务器环境中以本地方式解密和验证完整性令牌。
- (可选)当您自行管理响应加密密钥时,您的应用仍然可以回退到 Google Play 服务器来解密和验证响应。
如果您自行管理响应加密密钥,而您想改为让 Google 管理响应加密,请按以下步骤操作:
- 更改服务器逻辑,以便仅在 Google 服务器上进行解密和验证。
- 登录 Play 管理中心。
- 选择一个使用 Play Integrity API 的应用。
- 在左侧菜单中的版本部分中,依次点击设置 > 应用完整性。
- 转到 Integrity API 标签页。
- 在该页面的设置部分中,点击响应加密密钥旁边的更改。
- 在随即显示的窗口中,点击让 Google 管理我的响应加密密钥(推荐)。
- 点击保存更改。
在 Play 管理中心内更改响应加密管理策略之前,请确保您的服务器已正确配置为在 Google Play 服务器上解密并验证完整性令牌。
配置 API 响应(可选)
Play Integrity API 会在完整性判定中提供以下主要信号:
- 应用完整性。
- 帐号详情。
- 设备完整性。
您可以修改应用收到的设备完整性响应集合。通过选择接收多个标签,您可以根据不同级别的设备可信度制定强制执行策略。为此,请按照 Play 管理中心内的说明操作。此选项仅适用于在 Google Play 上架的应用。
将 Play Core 集成到您的应用中
如需将 Play Integrity API 集成到您的应用中,请按照下面某一部分列出的平台专用说明执行操作。
Kotlin 或 Java
如果您使用的是本地 Maven 制品库,请将以下依赖项添加到应用的 build.gradle
文件中:
implementation 'com.google.android.play:integrity:1.1.0'
Unity
原生
请参阅 Play Core 原生库的开发环境设置指南。