【发布时间】:2018-12-01 19:53:02
【问题描述】:
我正在使用 Flutter 和 Firebase 创建应用。我有一些奇怪的问题。我正在创建身份验证,它工作正常,但是当我尝试将一些集合添加到我的 Firestore 数据库时,displayName 的记录设置为 null。
Future<FirebaseUser> createUser(email, password, displayName) async {
final FirebaseUser user = await _auth.createUserWithEmailAndPassword(
email: email, password: password);
UserUpdateInfo info = new UserUpdateInfo();
info.displayName = displayName;
_auth.updateProfile(info);
Firestore.instance.collection('users').document().setData({
'name': user.displayName,
'uid': user.uid,
'email': user.email,
'isEmailVerified': user.isEmailVerified,
'photoUrl': user.photoUrl,
});
return user;
}
这是创建用户的 Future 类。
void _handleSubmitted() {
userAuth
.createUser(
emailController.text, passwordController.text, nameController.text)
.then((onValue) {
print("Sign Up button clicked: $onValue");
});
}
这个方法是点击注册按钮时的句柄。
集合看起来像这张照片。
【问题讨论】:
-
在上传之前检查 displayName 是否有值。有时 Google 用户没有设置名称。与 photoUrl 相同。
标签: firebase dart firebase-authentication google-cloud-firestore flutter