我正在尝试在我的 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/