在Manage Users in Firebase
中,您可以看到诸如user.getDisplayName()
或user.getPhotoUrl()
之类的方法,但是在我的经过身份验证的用户表中,没有这些方法:
我的问题是,这些方法是否内置在Firebase中,我需要更改身份验证代码以在表中包含这些列?或者,这些只是伪代码方法,我需要通过保留用户的其余详细信息(例如配置文件图像以及Firebase Storage和Firebase数据库中的名称)来实现?
答案 0 :(得分:3)
这是一个很好的问题。我刚接触firebase-authentication
时也有同样的问题。您无法在该表中看到那些列,但是仍然可以将那些元数据存储到该表中(隐藏在该表中)。首先,您必须创建一个UserProfileChangeRequest
对象,并使用如下数据填充它:
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName("ADD_A_DISPLAY_NAME_HERE")
.setPhotoUri(Uri.parse("ADD_PROFILE_PHOTO_URL_HERE"))
.build();
接下来,使用与您填充的对象相同的对象来更新用户个人资料:
FirebaseAuth.getInstance().getCurrentUser().updateProfile(profileUpdates);
尝试一下,让我们知道它是否有效。