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

小米Redmi Note 9S使用Firebase AppCheck+Play Integrity遇403验证失败

解决Firebase AppCheck(Play Integrity)403 "App attestation failed" 问题(单设备案例)

针对你遇到的单个小米Redmi Note 9S(Android 12)用户无法获取AppCheck令牌的情况,以下是可落地的排查和解决步骤:

1. 检查用户设备的Play服务版本

  • 让用户前往「设置」→「应用管理」→「Google Play服务」,查看版本号。Play Integrity对Play服务版本有最低要求,建议用户更新到最新稳定版(可通过Play商店搜索「Google Play服务」手动更新)。
  • 部分小米设备会限制Play服务自动更新,需要用户手动触发更新操作。

2. 重置应用的Play Integrity验证状态

  • 指导用户清除应用的存储和缓存:进入「设置」→「应用管理」→ 找到你的应用 →「存储」→「清除缓存」+「清除数据」(提前提醒用户备份应用内重要数据)。
  • 让用户重启设备后重新打开应用,尝试重新获取令牌。

3. 排查小米设备的特殊系统限制

  • 检查用户是否开启了「隐私保护」中的权限限制,确保你的应用已获得「联网权限」「查看应用使用情况」等必要权限(Play Integrity验证需要与系统服务交互并联网)。
  • 关闭小米的「省电模式」或「超级省电」,这类模式可能会限制Play服务在后台的运行,导致验证流程中断。
  • 确认用户未开启「应用双开」或「分身」功能,分身应用的签名环境可能无法通过Play Integrity验证。

4. 检查用户的Play商店状态

  • 让用户确认已登录正规的Google账号,且Play商店处于正常登录状态(无账号异常、区域限制提示)。
  • 指导用户进入Play商店的「设置」→「关于」,多次点击「Play商店版本」触发版本更新,确保Play商店是最新版。

5. 强制刷新令牌(排查用)

  • 给该用户提供临时测试版本,在调用getToken()时添加forceRefresh: true参数,强制刷新AppCheck令牌:
    const token = await firebase.appCheck().getToken(true);
    
  • 若强制刷新后成功,说明用户设备的旧令牌缓存存在异常,清除应用缓存即可解决。

6. 后台核对Firebase配置

  • 登录Firebase控制台,再次确认AppCheck的「Play Integrity」提供者配置正确(包名、签名证书指纹与Play商店发布的应用完全一致),虽然多数用户正常,但可排除配置遗漏的极小概率情况。
  • 检查Firebase的AppCheck请求配额,确认未达到每日上限(单个用户失败大概率与配额无关)。

内容的提问来源于stack exchange,提问作者Lucas Basquerotto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:43:14