我们可以像这样使用“Firestore”吗?

Kav*_*ana 0 firebase flutter google-cloud-firestore

我在Github上下载了 flutter 聊天应用程序,并通过它进行学习。最初的开发人员使用了 Firestore,但在我的开发人员中,我收到错误“未定义名称‘Firestore’。请尝试将名称更正为已定义的名称,或定义名称”,如下所示。

我搜索这个并在cloudfirestore文档中阅读我们可以使用“FirebaseFirestore”(也许我错了)。我正在学习用 flutter 编写后端,到目前为止我已经完成了 UI 部分。所以这是我第一次尝试用flutter学习后端。

handleSignIn() async {
    final res = await googleSignIn.signIn();

    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();

    final auth = await res.authentication;

    final credentials = GoogleAuthProvider.getCredential(
        idToken: auth.idToken, accessToken: auth.accessToken);

    final firebaseUser =
        (await firebaseAuth.signInWithCredential(credentials)).user;

    if (firebaseUser != null) {
      final result = (await Firestore.instance
              .collection('users')
              .where('id', isEqualTo: firebaseUser.uid)
              .getDocuments())
          .documents;

      if (result.length == 0) {
        ///new user
        Firestore.instance
            .collection('users')
            .document(firebaseUser.uid)
            .setData({
          "id": firebaseUser.uid,
          "name": firebaseUser.displayName,
          "profile_pic": firebaseUser.photoURL,
          "created_at": DateTime.now().millisecondsSinceEpoch,
        });

        sharedPreferences.setString("id", firebaseUser.uid);
        sharedPreferences.setString("name", firebaseUser.displayName);
        sharedPreferences.setString("profile_pic", firebaseUser.photoURL);

        Navigator.of(context)
            .push(MaterialPageRoute(builder: (context) => Home()));
      } else {
        ///Old user
        sharedPreferences.setString("id", result[0]["id"]);
        sharedPreferences.setString("name", result[0]["name"]);
        sharedPreferences.setString("profile_pic", result[0]["profile_pic"]);

        Navigator.of(context)
            .push(MaterialPageRoute(builder: (context) => Home()));
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误 在此输入图像描述

那么你们能解释一下如何解决这个错误吗?

谢谢。

Kau*_*iya 7

我认为您缺少在 pubspec.yml 中添加cloud_firestore依赖项。还有一件事,

您使用的是最新版本,请使用“FirebaseFirestore”而不是“Firestore”。