我希望应用程序在用户注册时保存displayName
我试过了:
Future<void> signUp() async {
try {
FirebaseUser user = (await FirebaseAuth.instance
.createUserWithEmailAndPassword(
email: email.text, password: password.text))
.user;
UserUpdateInfo userUpdateInfo = new UserUpdateInfo();
userUpdateInfo.displayName = name.text;
await user.reload();
showInSnackBar("User name ${user.displayName}");
try {
await user.sendEmailVerification();
showInSnackBar("Email verification sent");
} catch (e) {
print(e);
}
} catch (e) {
String errorCode = e.code;
print(e);
if (errorCode == "ERROR_EMAIL_ALREADY_IN_USE") {
showInSnackBar("This email is already in use");
} else {
showInSnackBar("Somthing went wrong! Try again later");
}
}
}
使用此方法,
SnakBar
为displayName
返回null 最佳答案
设置userUpdateInfo.displayName = name.text
不足以实际更改用户帐户上的名称。您必须调用updateProfile()并将其传递给UserUpdateInfo对象才能实际更改帐户。
await user.updateProfile(userUpdateInfo)