Intereting Posts

Профиль FirebaseUser не обновляется

Я использую Firebase Auth на Android.

Мой поток сообщений работает нормально, но я не могу сразу обновить имя пользователя и profileUrl .

public void test() { String username = "test username"; Uri avatarUri = Uri.parse("http://www.pixelstalk.net/wp-content/uploads/2016/08/Wonderful-Random-Background.jpg"); UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder(); builder.setDisplayName(username); builder.setPhotoUri(avatarUri); Log.d("UPDATE PROFILE", "user exists=" + (firebaseAuth.getCurrentUser() != null ? "YES" : "NO")); Log.d("UPDATE PROFILE", "user anonymous=" + (firebaseAuth.getCurrentUser().isAnonymous() ? "YES" : "NO")); firebaseAuth.getCurrentUser().updateProfile(builder.build()).addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { if (firebaseAuth.getCurrentUser().getDisplayName() != null) { Log.d("UPDATE PROFILE", "username=" + firebaseAuth.getCurrentUser().getDisplayName()); } else { Log.d("UPDATE PROFILE", "username=NULL"); } if (firebaseAuth.getCurrentUser().getPhotoUrl() != null) { Log.d("UPDATE PROFILE", "photoUrl=" + firebaseAuth.getCurrentUser().getPhotoUrl().toString()); } else { Log.d("UPDATE PROFILE", "photoUrl=NULL"); } } else { Log.e("UPDATE PROFILE", task.getException().getMessage()); } } }); } 

Я попробовал метод тестирования выше, и это мой вывод

ОБНОВЛЕНИЕ ПРОФИЛЯ: пользователь существует = ДА

ОБНОВЛЕНИЕ ПРОФИЛЯ: пользователь анонимный = НЕТ

ОБНОВЛЕНИЕ ПРОФИЛЯ: username = NULL

ОБНОВЛЕНИЕ ПРОФИЛЯ: photoUrl = NULL

Я не понимаю, почему мой currentUser не обновляется даже с результатом «isSuccessful ()»

Solutions Collecting From Web of "Профиль FirebaseUser не обновляется"

Это известная проблема в последней версии Firebase (9.8.0). Это известная проблема. Единственное временное исправление прямо сейчас – откат всего до версии 9.6.1.

Измените свои зависимости от градиента для этого приложения для компонентов Firebase (это просто исправление temp, и это может сломать что-то еще, если вы используете что-то в новой версии):

 compile 'com.google.android.gms:play-services-auth:9.6.1' compile 'com.google.firebase:firebase-core:9.6.1' compile 'com.google.firebase:firebase-messaging:9.6.1' compile 'com.google.firebase:firebase-auth:9.6.1' compile 'com.google.firebase:firebase-database:9.6.1' 

Измените те, которые соответствуют вашему деду, на версии, указанные выше.