You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Kotlin项目上传Google Console时的SafetyNet API警告

修复SafetyNet Attestation API停用警告的方案

核心修复方向

替换已停用的SafetyNet Attestation API为Play Integrity API,具体操作步骤如下:

1. 移除SafetyNet依赖

在Module级别的build.gradle文件中,删除或注释掉SafetyNet相关依赖:

// 移除该依赖项
implementation "com.google.android.gms:play-services-safetynet:17.0.1"

2. 添加Play Integrity依赖

在同一个build.gradle文件中,添加Play Integrity的官方依赖:

implementation "com.google.android.gms:play-services-integrity:1.1.0"
// 建议使用Google官方最新版本

3. 替换前端代码逻辑

将原有的SafetyNet Attestation调用逻辑完全替换为Play Integrity API的调用:

  • 原SafetyNet调用逻辑(需移除):
SafetyNet.getClient(context).attest(nonce, API_KEY)
    .addOnSuccessListener { /* 原结果处理逻辑 */ }
    .addOnFailureListener { /* 原错误处理逻辑 */ }
  • 替换为Play Integrity调用逻辑:
val integrityManager = IntegrityManagerFactory.create(context)
val request = IntegrityTokenRequest.builder()
    .setNonce(nonce) // 可复用原项目中的nonce生成逻辑
    .build()

integrityManager.requestIntegrityToken(request)
    .addOnSuccessListener { tokenResponse ->
        // 将获取到的token发送至后端进行验证
        val integrityToken = tokenResponse.token()
    }
    .addOnFailureListener { exception ->
        // 处理错误,Play Integrity提供更明确的错误类型
    }

4. 更新后端验证逻辑

后端服务需要替换原有的SafetyNet token验证逻辑,适配Play Integrity API的token校验规则,使用Google官方提供的方式完成token验证。

5. 测试与验证

  • 在测试环境中完成功能验证,确保完整性校验流程正常运行
  • 重新生成App Bundle并上传至Google Console,确认警告信息消失

注意:Play Integrity API包含SafetyNet Attestation的所有核心完整性验证能力,同时新增了Google Play授权验证、更清晰的错误提示等功能,迁移后不会出现功能缺失。

内容的提问来源于stack exchange,提问作者chanthini begam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:25:16