Firebase auth를 사용하여 사용자를 추가하려고하는데 가입시 UI를 통해 묻는 경우에도 displayName을 null로 반환합니다. 왜 어떤 아이디어를 고쳐야합니까? Firebase Auth를 사용하여 사용자를 생성 한 후 displayName이 null로 표시됩니다.
startActivityForResult(AuthUI.getInstance()
.createSignInIntentBuilder()
.setProviders(Collections.singletonList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build()))
.build(), RC_SIGN_IN);
및 결과에 대한 활동에
.... 다음과 같이 사용자 코드 저장protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
// user is signed in!
//save user
saveUser();
startMainActivity();
return;
}
은 다음과 같습니다 :
private void saveUser(){
FirebaseUser fUser = FirebaseAuth.getInstance().getCurrentUser();
final User user = new User();
if (fUser.getDisplayName() != null) {
user.setUserName(fUser.getDisplayName());
} else {
Log.e("FB_info", "User has no display name");
}
user.setUserEmail(fUser.getEmail());
final DatabaseReference userRef = FirebaseDatabase.getInstance().getReference(FirebaseRefs.getUsersRef()).child(fUser.getUid());
userRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(!dataSnapshot.exists()){
userRef.updateChildren(user.toMap());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
어떤 생각을 여기에 내가이 일을 사용하고있는 코드는 표시 이름이 null을 반환하는 이유는 무엇입니까?
나는 동일한 문제가 있으며 막 게시를하려고합니다. 나는 안드로이드 OS와 안드로이드 용 "FirebaseUI - Auth"라이브러리를 사용하고 있습니다. 문제는 OP 상태입니다 : 새 사용자가 등록 된 직후에 반환 된 사용자 개체는 displayName() 호출에 대해 null 값을 갖습니다. 그러나 동일한 자격 증명으로 로그인 (가입하지 않음)하면 이름 필드에 값이 예상대로 포함됩니다. – Konaras