Я интегрирую FirebaseAuth в приложение Android, которое я создаю. Я успешно интегрировал firebase в приложение, добавив SDK, загрузив и добавив файл google-services. json.
Проблема возникает, когда я пытаюсь зарегистрировать нового пользователя. Пользователь добавляется в консоль firebase, но я не могу получить зарегистрированного пользователя, чтобы обновить имя. Это код из фрагмента, в котором я его использую.
requireActivity().let {
val user = authenticationService.signUpWithEmailAndPassword(email, password)
user?.let {
authenticationService.updateUser(it, name)
navigationService.openHomeScreen()//open next creen
}
}
функция регистрации в AuthenticationService
fun signUpWithEmailAndPassword(email: String, password: String): FirebaseUser? {
signOutCurrentUser()
firebaseAuth.createUserWithEmailAndPassword(email, password)
return firebaseAuth.currentUser
}
функция обновления пользователя
fun updateUser(user: FirebaseUser?, name: String) {
val profileUpdates = UserProfileChangeRequest.Builder().apply {
displayName = name
}.build()
user?.updateProfile(profileUpdates)?.addOnCompleteListener { task ->
if (task.isSuccessful) {
Timber.d("User profile updated.")
}
}
}
функция выхода текущего пользователя
private fun signOutCurrentUser() {
firebaseAuth.currentUser?.let {
firebaseAuth.signOut()
}
}
Проблема в том, что пользователь успешно добавлен , но firebaseAuth.currentUser
всегда возвращает null.
Вещи, которые я пробовал:
- Добавление authStateListener
- Добавление onSuccessListener
- Добавление onCompleteListener
Пожалуйста, помогите брату