2016-11-21 15 views
9

Tôi sử dụng Firebase Auth trên Android.Hồ sơ của FirebaseUser không được cập nhật

luồng đăng nhập của tôi hoạt động tốt nhưng tôi không thể cập nhật Tên truy nhập & profileUrl ngay sau đó.

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()); 
      } 
     } 
    }); 

} 

Tôi đã thử các phương pháp thử nghiệm trên và đây là kết quả của tôi

CẬP NHẬT HỒ SƠ: người dùng tồn tại = YES

CẬP NHẬT HỒ SƠ: người dùng nặc danh = NO

CẬP NHẬT HỒ SƠ: username = NULL

HỒ SƠ CẬP NHẬT: photoUrl = NULL

Tôi không hiểu tại sao CurrentUser của tôi không được cập nhật ngay cả với một "isSuccessful()" Kết quả

+2

Tôi đã làm việc tốt trước đó, nhưng sau đó tôi bắt đầu nhận được vấn đề đó .. Nếu bạn đăng xuất và một lần nữa, nó thường lấp đầy nó mặc dù ... Nó dường như không cập nhật ngay lập tức vì một lý do nào đó. –

+0

@AubtinSamai Có, Nó không cập nhật ngay lập tức –

+0

Tôi hy vọng họ sẽ sửa chữa nó càng sớm càng tốt – Kyso84

Trả lời

5

Đây là một vấn đề được biết đến trong bản phát hành mới nhất của căn cứ hỏa lực (9.8.0). Đó là một vấn đề đã biết theo số here. Sửa chữa tạm thời duy nhất ngay bây giờ là khôi phục mọi thứ về phiên bản 9.6.1.

Thay đổi phụ thuộc gradle của bạn để ứng dụng này cho các thành phần căn cứ hỏa lực (điều này chỉ là một sửa chữa tạm thời, và nó có thể phá vỡ cái gì khác nếu sử dụng một cái gì đó trong phiên bản mới):

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' 

Thay đổi những người phù hợp trong cháu của bạn đến các phiên bản được chỉ định ở trên.

+0

Rất tiếc, ngay cả với phiên bản 10.0.0 lỗi vẫn còn ... :( – Kyso84

+3

Cũng thấy điều này trong 10.0.1 –

+0

v10.2.6 - lỗi vẫn chưa được giải quyết ... – Omkar

Các vấn đề liên quan