如何配置Firebase Auth登录弹窗的隐私政策及服务条款超链接
Firebase Google登录隐私政策/服务条款链接异常解决方案
- 依赖版本不兼容
这是该问题最高频的触发原因。请检查模块级build.gradle文件中的依赖声明,保证Google Sign-In和Firebase Auth的版本属于官方兼容范围,参考兼容配置如下:
dependencies { implementation 'com.google.firebase:firebase-auth:22.3.1' implementation 'com.google.android.gms:play-services-auth:20.7.0' }
不要跨大版本混用两类依赖,避免出现渲染兼容问题。
- OAuth同意屏幕配置缺失
请进入Google Cloud控制台对应项目的「API和服务」-「OAuth同意屏幕」页面,在「应用域」板块填写可公开访问的隐私政策、服务条款链接,保存后重新发布同意屏幕,配置会在10-15分钟后生效,生效后重新打包测试即可。 - Google Play服务版本过低
旧版本Google Play服务本身存在登录弹窗的渲染bug,Android 10及以下系统的设备更容易出现该问题。你可以在应用启动时添加Google Play服务版本检测逻辑,引导版本低于22.0.0的用户先更新服务后再尝试登录。 - 国产定制系统权限限制
部分MIUI、ColorOS等国产定制ROM会默认拦截应用弹窗的跳转行为,你可以在触发登录操作前先申请悬浮窗权限,或者提示用户手动开启应用的「弹窗跳转」「关联启动」权限后重试。
代码优化建议
你当前的createRequest方法可补充requestProfile配置,确保登录客户端能正确拉取你配置的同意屏幕信息,修改后参考代码如下:
private void createRequest() { GoogleSignInOptions gso = new GoogleSignInOptions .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getString(R.string.default_web_client_id)) .requestEmail() .requestProfile() // 新增此行 .build(); mGoogleSignInClient = GoogleSignIn.getClient(this, gso); }
同时请确认你的R.string.default_web_client_id值和Firebase控制台下载的google-services.json文件中的对应值完全一致,不要手动填写错误。
你提供的两张弹窗截图的链接区域渲染异常,符合上述问题的典型表现,按以上方案逐一排查即可解决。
内容的提问来源于stack exchange,提问作者earthling
相关产品推荐
相关产品推荐

