Kotlin开发Android应用调用Google Fit API未显示未验证应用界面问题
问题根因分析
从你给出的三类测试结果可以直接排除权限、凭据配置错误的可能性,问题出在OAuth应用状态和生产环境配置匹配度上,具体可分为三类:
- OAuth同意屏处于测试模式:谷歌云平台OAuth同意屏默认创建后为测试状态,该状态下仅你手动添加到「测试用户」列表的谷歌账号可正常完成授权,其余所有账号都会触发未验证应用流程,你当前卡弹窗就是测试模式下非测试用户的未验证应用唤起异常。
- 生产环境签名指纹不匹配:你在谷歌云凭据中配置的SHA1指纹如果是debug测试签名的指纹,和生产环境打包APK所用的正式签名指纹不一致,会导致谷歌无法识别应用合法身份,无法正常唤起未验证应用授权页。
- 敏感权限未完成验证且同意屏信息不全:你调用的
fitness.activity.read属于谷歌划定的敏感权限范围,应用未完成谷歌官方验证时,非测试用户访问必然触发未验证应用流程;如果你未在OAuth同意屏中填全应用名称、开发者联系邮箱、用户支持邮箱等必填项,也会导致弹窗无法正常渲染。
排查解决步骤
- 先确认OAuth同意屏状态:登录谷歌云控制台进入「API和服务」-「OAuth同意屏」,如果当前状态为「测试中」,可先将需要测试的非白名单账号加入测试用户列表临时解决,正式上线需要提交应用验证申请转为正式模式。
- 核对签名指纹:使用生产环境正式签名文件计算SHA1指纹,和谷歌云「API和服务」-「凭据」下对应Android客户端的SHA1值比对,确保二者完全一致,不要混用debug和release签名的指纹。
- 补全OAuth同意屏信息:检查并填全所有带*的必填项,包括应用名称、用户支持邮箱、开发者联系信息等,缺失必填项会直接导致授权弹窗加载失败。
- 确认设备Google Play服务版本:测试设备的Google Play服务版本过低也会导致授权弹窗加载异常,升级到最新版本后重试即可。
内容的提问来源于stack exchange,提问作者アプリだすお
相关产品推荐
相关产品推荐

