android - Flutter:方法 'signInWithGoogle' 没有为类 'FirebaseAuth' 定义

标签 android flutter firebase-authentication google-signin

我正在尝试在我的 flutter 应用程序中添加一个 google 登录,但是 googleSignIn 方法总是显示红色波浪线。当我将鼠标悬停在它上面时,它会显示:

The method 'signInWithGoogle' isn't defined for the class FirebaseAuth.

这个问题的解决方案是什么?

我已经添加并导入了所有必需的依赖项。

我使用的依赖是:

google_sign_in: ^3.2.4
firebase_auth: ^0.7.0

由于 AndroidX 兼容性问题,我没有使用最新的可用依赖版本

最佳答案

在较新的版本中,它的工作方式略有不同:

添加依赖:

google_sign_in: ^4.0.1:
firebase_auth: ^0.8.1

之后:

最终的 GoogleSignIn googleSignIn = GoogleSignIn();

final FirebaseAuth firebaseAuth = FirebaseAuth.instance;

Future<FirebaseUser> signInWithGoogle() async {
final GoogleSignInAccount googleAccount = await googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleAccount.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
  accessToken: googleAuth.accessToken,
  idToken: googleAuth.idToken,
);
return firebaseAuth.signInWithCredential(credential);

当然,所有 Firebase 设置都应按照 lib 文档中的说明进行: firebase_auth

关于android - Flutter:方法 'signInWithGoogle' 没有为类 'FirebaseAuth' 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55320011/

相关文章:

firebase - 在 flutter 中使用Google身份验证并显示用户名和图像

ios - 授权用户使用 firebase 无效

ios - fatal error : module 'firebase_core' not found

java - 在移动设备和可穿戴设备上保存表盘设置

javascript - React-Native 的休眠功能?

android - 自定义键盘重叠 EditText

flutter build_runner : Build for specific file extensions in build. yaml

php - 在 Laravel 中 Dio 为空的 Flutter 文件上传

firebase - 云函数错误: Forbidden unless I open function to allUsers

android - SurfaceHolder.setType 已弃用...但需要吗?