首页 > 解决方案 > 未找到 Flutter Firebase.signInWithGoogle 方法

问题描述

我正在尝试在我的 Flutter 应用程序中添加 Google 身份验证。但我的 Android 工作室无法在FirebaseAuth类下找到signInWithGoogle方法。我的意思是当我写 FirebaseAuth 的时候。signInWithGoogle Android 工作室抱怨说没有为类 Firebase 定义方法 signInWithGoogle

我已经有了Firebase.signInWithEmailAndPassword并且工作正常。

我在 pubspec.yaml firebase_auth 中有以下依赖项:^0.8.0+1

以下是我在课堂上的导入......

import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:my_project/auth.dart';
import 'package:my_project/register.dart';
import 'package:my_project/signin/button_list.dart';
import 'package:my_project/signin/button_view.dart';
import 'package:my_project/utils.dart';
class _LoginPageState extends State<LoginPage> {
 final formKey = GlobalKey<FormState>();

// Google Sign In
final GoogleSignIn _googleSignIn = GoogleSignIn();
final FirebaseAuth _auth = FirebaseAuth.instance; // No errors so far

下面是同一类中显示错误的方法 在此处输入图像描述

此外,当我单击 ctrl + 空格查看FirebaseAuth下的所有方法时,它根本没有显示signInWithGoogle方法。

在此处输入图像描述

请帮忙!提前致谢...

标签: firebaseflutterfirebase-authentication

解决方案


查看 firebase_auth github repo https://github.com/flutter/plugins/blob/master/packages/firebase_auth/example/lib/main.dart#L70中提供的示例

Future<String> _testSignInWithGoogle() async {
    final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
    final GoogleSignInAuthentication googleAuth =
        await googleUser.authentication;
    final AuthCredential credential = GoogleAuthProvider.getCredential(
      accessToken: googleAuth.accessToken,
      idToken: googleAuth.idToken,
    );

    final AuthResult authResult = await _auth.signInWithCredential(credential);
    final FirebaseUser user = authResult.user;
    assert(user.email != null);
    assert(user.displayName != null);
    assert(!user.isAnonymous);
    assert(await user.getIdToken() != null);

    final FirebaseUser currentUser = await _auth.currentUser();
    assert(user.uid == currentUser.uid);

    return 'signInWithGoogle succeeded: $user';
}

推荐阅读