每个调用PlayIntegrityAPI的应用或SDK都需要利用GoogleCloud项目来监控API的使用情况。GooglePlay上的应用可以在GooglePlay管理中心内关联Cloud项目,以启用PlayIntegrityAPI响应。如果您要新建Cloud项目,或者您的应用专门在GooglePlay之外进行分发,则可以通过GoogleCloud控制台启用PlayIntegrityAPI响应。
SDK提供方必须使用自己的GoogleCloud项目调用PlayIntegrityAPI,以便将API使用归因于SDK,而不是归因于使用相应SDK的各个应用。这意味着,应用在使用您的SDK时无需单独设置PlayIntegrityAPI。您对PlayIntegrityAPI的请求将自动计入SDK的API使用量,而非应用的API使用量。
SDK开发者可以通过以下两种方式设置PlayIntegrityAPI:GooglePlaySDK管理中心或GoogleCloud控制台。
您的应用每天最多只能发出共10,000次请求。如果您的应用需要处理更多用户,您可以按照以下说明请求提高此每日次数上限。
如需申请提高每日请求次数上限,请按以下步骤操作:
传统请求配额增加将自动应用于客户端调用以生成完整性令牌,并会自动应用于服务器调用以解密和验证完整性令牌。标准请求配额增加会应用于服务器调用,以解密和验证完整性令牌。
如需将PlayIntegrityAPI集成到您的应用或SDK中,请根据您的开发环境执行以下其中一项操作:
implementation'com.google.android.play:integrity:1.4.0'Unity以下部分介绍了如何为Unity项目集成和设置GooglePlayIntegrityAPI,其中涵盖受支持的Unity版本、安装方法和环境设置。
API响应包含每个请求中返回的默认判定结果。如果您在Play管理中心内设置PlayIntegrityAPI集成,则可以自定义API响应。
默认情况下,PlayIntegrityAPI响应中会返回以下完整性判定结果:
如需更改您的API响应,请访问Play管理中心,然后依次点击发布>应用完整性。在响应下方,修改并保存更改。
应用和SDK可以选择在设备完整性判定结果中接收其他设备标签。在您选择接收其他标签后,如果满足所有标签条件,完整性响应就会包含针对同一设备的多个标签。您可以准备您的后端服务器,使其表现出不同的行为,具体取决于可能的响应范围。例如,与仅返回一个标签(MEETS_BASIC_INTEGRITY)的设备相比,返回三个标签(MEETS_STRONG_INTEGRITY、MEETS_DEVICE_INTEGRITY和MEETS_BASIC_INTEGRITY)的设备可能更可信。
您还可以选择启用近期设备活动记录。“近期设备活动记录”会返回一个级别,该级别介于LEVEL_1(请求数量较少)和LEVEL_4(请求数量较大)之间。例如,如果设备返回的活动水平明显高于相应应用的一般水平,就可能会尝试生成大量完整性令牌来分发到非可信设备。
您还可以选择启用设备属性,以了解设备上运行的AndroidOS的AndroidSDK版本。将来,它可能会通过其他设备属性进行扩展。
应用可以选择接收关于环境的其他判定结果。应用访问风险信号可让您了解是否有其他正在运行的应用可能会截屏、显示叠加层或控制设备。通过Play保护机制判定,您可以了解设备上是否启用了Play保护机制,以及该机制是否发现了已知恶意软件。
选择接收这些判定结果后,您的API响应将包含带有判定结果的环境详情字段:
当您发出传统请求时,默认情况下,GooglePlay的服务器会管理您的应用在与PlayIntegrityAPI互动时使用的响应加密。虽然我们建议您使用此默认选项,但您也可以选择按照以下说明管理和下载响应加密密钥。
为保证应用的安全性,建议您允许Google生成和管理响应加密密钥。您的后端服务器将调用GooglePlay的服务器为响应解密。
如果要在自己的安全服务器环境中以本地方式解密完整性判定,您可以管理和下载响应加密密钥。如需管理和下载响应加密密钥,您必须使用Play管理中心,并且除了任何其他分发渠道以外,您的应用还必须在GooglePlay上架。请按照以下说明从Google管理的响应加密密钥切换为自行管理的响应加密密钥。
切记,不要在客户端应用中解密或验证收到的令牌,也不要将任何解密密钥公开给客户端应用。
在Play管理中心内更改响应加密管理策略之前,请确保您的服务器已正确配置为在GooglePlay服务器上解密并验证完整性令牌,以免服务中断。
如果Google目前负责管理您的响应加密,而您想改为自行管理和下载响应加密密钥,请按以下步骤操作:
如果您自行管理响应加密密钥,而您想改为让Google管理响应加密,请按以下步骤操作: