使用Flutter Google Sign In插件时遇signInWithAuthProvider错误如何解决?
解决GoogleSignIn中
signInWithAuthProvider方法不存在的错误 - 版本兼容性问题:新版本的
google_sign_in包已经移除了signInWithAuthProvider方法,该方法属于旧版API。如果是升级包后出现的问题,直接替换为当前版本的有效方法即可。 - 替换为正确方法:
若只是基础的Google登录需求,用signIn()方法替代即可,示例代码:
若需要服务器端认证,可使用final GoogleSignIn _googleSignIn = GoogleSignIn(); Future<void> googleLogin() async { try { final GoogleSignInAccount? userAccount = await _googleSignIn.signIn(); if (userAccount != null) { // 获取认证凭证 final GoogleSignInAuthentication authInfo = await userAccount.authentication; // 后续可结合业务逻辑处理,比如对接后端或Firebase Auth } } catch (e) { print('登录失败:$e'); } }signInWithServerAuthCode()方法,传入对应的serverClientId。 - 检查代理类类型:确认你的
_delegate是GoogleSignIn的实例,而非自定义代理类。如果是自定义代理,需同步更新内部调用的方法名,适配新版包的API。 - 彻底清理依赖缓存:除了
flutter clean,执行flutter pub get重新拉取依赖,同时重启IDE清除编辑器缓存,避免旧代码残留导致的识别问题。
内容的提问来源于stack exchange,提问作者AsiF SHaik
相关产品推荐
相关产品推荐

