Flutter:未为类“ FirebaseAuth”定义方法“ signInWithGoogle”

时间:2019-03-24 01:41:17

标签: android flutter firebase-authentication google-signin

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

  

未为该类定义方法'signInWithGoogle'   FirebaseAuth。

该问题的解决方案是什么?

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

我使用的依赖项是:

google_sign_in: ^3.2.4
firebase_auth: ^0.7.0

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

1 个答案:

答案 0 :(得分:2)

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

添加依赖项:

google_sign_in: ^4.0.1:
firebase_auth: ^0.8.1

之后:

最终GoogleSignIn googleSignIn = GoogleSignIn();

最终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文档中的说明进行: here