Ошибка ‘Sign Up’: параметр ‘DisplayName =’ был вызван с нулевым значением.» отображается на консоли. Кнопка «Зарегистрироваться» не перенаправляет на следующую страницу

#android #firebase #flutter #dart #mobile-application

#Android #firebase #трепетание #dart #мобильное приложение

Вопрос:

Приложение запускается, однако при нажатии кнопки регистрации я не могу перейти к следующей перенаправленной странице. Учетная запись действительно создается, как видно из консоли.firebase, и единственный способ перейти на следующую страницу — это снова войти в систему с созданными учетными данными.

 import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart';

class AuthService {
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;

  Stream<String> get authStateChanges => _firebaseAuth.authStateChanges().map(
        (User user) => user?.uid,
      );

  // // GET UID
  // Future<String> getCurrentUID() async {
  //   return (await _firebaseAuth.currentUser()).uid;
  // }

  // Email amp; Password Sign Up
  Future<String> createUserWithEmailAndPassword(
      String email, String password, String name) async {
    final authResult = await _firebaseAuth.createUserWithEmailAndPassword(
      email: email,
      password: password,
    );

    // Update the username
    await updateUserName(name, authResult.user);
    return authResult.user.uid;
  }

  Future updateUserName(String name, User currentUser) async {
    var userUpdateInfo = updateProfile();
        userUpdateInfo.displayName = name;
        await currentUser.updateProfile(displayName: userUpdateInfo);
        await currentUser.reload();
      }
    
      // Email amp; Password Sign In
      Future<String> signInWithEmailAndPassword(
          String email, String password) async {
        return (await _firebaseAuth.signInWithEmailAndPassword(
                email: email, password: password))
            .user
            .uid;
      }
    
      // Sign Out
      signOut() {
        return _firebaseAuth.signOut();
      }
    }
    
    updateProfile() {
}
 
  

Комментарии:

1. Ошибка, насколько я понимаю, исходит из строк кода после комментария ‘// Обновить имя пользователя’.

Ответ №1:

В методе updateUserName выполняются приведенные ниже коды, поэтому попробуйте прокомментировать или удалить его.

       // Sign Out
      signOut() {
        return _firebaseAuth.signOut();
      }
  

Комментарии:

1. К сожалению, это не помогло: / хотя спасибо.