Я аутентифицирую пользователей по номеру мобильного телефона в Firebase.В данный момент я в тестовом режиме.Моя идея заключается в том, что если номер мобильного телефона не использовался ранее, то создается новый пользователь.Здесь я использую функцию saveUserToFirebaseDatabase.Я думал, что эта функция будет проверять, существует ли пользователь уже.Но так, как я написал это сейчас, это не так.Следовательно, когда пользователь выходит из системы и входит в систему, значения дочернего элемента, которые я вставил куда-то еще, теряются.Это очевидно, потому что функция saveUserToFirebaseDatabase воссоздает пользователя.
Здесь я наблюдаю интересную вещь, которая заключается в том, что идентификатор пользователя, созданный для номера мобильного телефона, остается одинаковым для всех входов в систему.Это еще больше сбивает меня с толку насчет функции saveUserToFirebaseDatabase.Вот мой код для сохранения пользователя в базе данных.
private fun saveUserToFirebaseDatabase(){
val uid = FirebaseAuth.getInstance().uid ?: ""
val ref = FirebaseDatabase.getInstance().getReference("/users/$uid")
val user = User(uid, "","+91"+MobileNumber.text.toString(), "")
ref.setValue(user)
}
class User(val uid: String, val username: String, val mobile: String, val mail: String)
Процедура аутентификации пользователя соответствует документации Firebase и работает без сбоев.Может кто-нибудь объяснить, как работает эта функция saveUserToFirebaseDatabase.Почему uid всегда остается постоянным, хотя имя пользователя и почта другого ребенка сбрасываются до ""