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)
那么你们能解释一下如何解决这个错误吗?
谢谢。
归档时间: |
|
查看次数: |
3280 次 |
最近记录: |