Обновить displayName при регистрации Firebase Flutter - PullRequest
0 голосов
/ 19 июня 2020

Я хочу, чтобы приложение сохраняло 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

1 Ответ

1 голос
/ 19 июня 2020

Настройка userUpdateInfo.displayName = name.text недостаточна для фактического изменения имени в учетной записи пользователя. Вы должны вызвать updateProfile () и передать ему этот объект UserUpdateInfo , чтобы фактически изменить учетную запись.

await user.updateProfile(userUpdateInfo)
...