google 登录 returns 一个未处理的异常,我正在使用 firebase google 登录

google sign in returns an unhandled exception, i am on flutter with the firebase google sign in

这是使用 google 帐户登录方法的代码。 包括它的统计数据,我可以解决这个登录问题的任何想法???

     void main() {
     runApp(new FriendlychatApp());
      }

      Future<Null> _ensureLoggedIn() async {
      GoogleSignInAccount user = googleSignIn.currentUser;
      if (user == null)
      user = await googleSignIn.signInSilently();
      if (user == null) {
      user = await googleSignIn.signIn();
      analytics.logLogin();
      }
      if (await auth.currentUser() == null) {
      GoogleSignInAuthentication credentials =
      await googleSignIn.currentUser.authentication;
      await auth.signInWithGoogle(
      idToken: credentials.idToken,
      accessToken: credentials.accessToken,
      );
        }
       }

我认为您也需要对下面提到的这一行使用 await。

GoogleSignInAccount user = googleSignIn.currentUser;

所以你应该实际使用。

GoogleSignInAccount user = await googleSignIn.currentUser;

如果有帮助请告诉我,

非常感谢, 鲯鳅鱼.

抱歉,它没有帮助,请尝试按照此示例 here 并确保您的应用程序与 firebase 正确集成,就像您在“身份验证”部分启用了 GoogleAuthentication 并将功能更改为

Future<Null> _ensureLoggedIn() async {
  GoogleSignInAccount user =  await googleSignIn.currentUser;
  if (user == null)
    user = await googleSignIn.signInSilently();
  if (user == null) {
    user = await googleSignIn.signIn();
    analytics.logLogin();
  }

  var response = await auth.currentUser();
  if (response.uid == null) {
    GoogleSignInAuthentication credentials =
    await googleSignIn.currentUser.authentication;
    await auth.signInWithGoogle(
      idToken: credentials.idToken,
      accessToken: credentials.accessToken,
    );
  }
}