配置正确SHA1后Google Fit SDK应用仍提示未通过Google验证怎么办
Google Fit授权弹出"App isn't verified by Google"问题修复方案
这个问题和配置生效延迟、是否需要发版本没有直接因果关系,核心是Google App Signing场景下的OAuth签名校验、同意屏配置存在遗漏,按以下步骤排查修复即可:
- 补全所有签名证书的指纹信息,不要仅配置SHA1
进入Google Play Console的应用完整性页面,把三类证书指纹全部添加到Firebase项目设置、Google Cloud Console对应项目的OAuth 2.0客户端ID配置中:- Google App Signing签名证书的SHA1值
- Google App Signing签名证书的SHA-256值(当前Google OAuth校验会同时校验两种指纹,漏加SHA-256是非常高频的出错点)
- 你本地用于提交应用到Play商店的上传证书的SHA1、SHA-256值(内部测试渠道的包是用上传证书签名的,漏加会导致测试版触发未验证提示)
所有指纹添加完成后,重新下载最新的google-services.json文件,替换项目中旧的配置文件,执行clean操作后重新编译即可。
- 检查OAuth同意屏幕的发布状态与权限审核状态
你看到的未验证提示,本质触发原因是OAuth同意屏未发布到生产环境,或者申请的Google Fit相关敏感权限未通过谷歌审核:- 切换到对应项目的Google Cloud Console,进入「APIs和服务」-「OAuth同意屏幕」页面
- 如果同意屏当前处于「测试」状态:仅添加到测试名单内的账号可以正常授权,其他账号都会弹出未验证提示;内部测试场景可以把目标用户加到测试列表,正式对外发布需要点击「发布应用」按钮将同意屏推到生产状态
- Google Fit涉及的身体活动、健康数据类权限属于敏感/受限范围,发布同意屏前必须提交OAuth验证申请,按要求上传应用图标、隐私政策、服务条款,明确说明权限使用场景,等谷歌审核通过后,未验证提示才会对所有用户消失。
- 核对客户端ID与应用信息的匹配性
不要手动创建额外的OAuth客户端ID,以Firebase根据你上传的签名指纹自动生成的客户端ID为准,检查google-services.json中记录的包名,和你模块build.gradle里配置的applicationId完全一致,避免debug、release环境包名或签名混用。
配置生效说明:指纹修改、同意屏发布的生效周期一般为几分钟到数小时,不需要强制发布版本更新——只要云端OAuth配置和当前已上线安装包的签名、包名完全匹配,配置生效后用户重新触发授权流程就不会再弹出未验证提示。如果已上线的安装包内置的是错误的旧版
google-services.json配置,才需要重新打包发布更新。
内容的提问来源于stack exchange,提问作者Jumpa
相关产品推荐
相关产品推荐

