记录一次接入Google智能音箱开发测试阶段的bug修复
在小米15 Pro(Android系统)上使用Google Home APP绑定云服务账号时,Google Home会调用默认浏览器跳转至云服务的H5登录页面。用户提交账号密码后,云服务的/oauth2/authorize端点签发授权码(code),并重定向至Google的OAuth回调地址https://oauth-redirect.googleusercontent.com/r/{project-id},随后应重定向回Google Home APP。但由于默认浏览器(如小米浏览器)不支持深度链接(Deep Link)或未正确处理重定向,最终页面显示404错误,停留在无效地址https://oauth-redirect.googleusercontent.com/a/com.google.android.apps.chromecast.app。
根本原因
- 默认浏览器兼容性问题:部分Android默认浏览器(如小米浏览器)未正确处理OAuth回调的重定向逻辑,导致无法跳转回Google Home APP。
- Deep Link支持不足 :Google Home APP依赖Chrome浏览器对
oauth-redirect.googleusercontent.com域名的深度链接支持,非Chrome浏览器可能无法触发APP的重新打开。
解决方案
将默认浏览器设置为Chrome
-
安装Chrome浏览器
打开Google Play商店,搜索并安装最新版本的Chrome浏览器。
-
修改默认浏览器设置
- 进入手机系统设置,找到「应用设置」或「应用管理」。
- 选择「默认应用设置」或类似选项。
- 在「浏览器」分类中,将默认浏览器从当前选项(如小米浏览器)更改为「Chrome」。
-
重新尝试绑定流程
再次通过Google Home APP发起账号绑定流程,此时登录后的OAuth回调应由Chrome处理,并正确跳转回Google Home APP。
验证方法
- 成功跳转后,Google Home APP应显示账号绑定完成状态。
- 若仍失败,检查Chrome是否为最新版本,或尝试清除Google Home APP和Chrome的缓存数据。
补充说明
- 其他浏览器兼容性:部分第三方浏览器(如Firefox)也可能支持此流程,但Chrome为Google官方推荐方案。
- 系统级限制:某些国产Android系统可能限制默认浏览器的修改权限,需检查系统权限设置。
技术背景
OAuth流程中,oauth-redirect.googleusercontent.com是Google服务的专用回调域名,Chrome浏览器已预置对其深度链接的支持。其他浏览器可能因未实现相关协议或被系统限制,导致无法完成跳转。