如果用户使用 Google/Facebook 登录,我可以允许他们在注册时创建自定义用户名吗?



我刚刚在应用中实现了FirebaseauthUI,但我希望我的用户能够在这些帐户中使用不是他们名字的用户名/显示名称,而无需强迫他们稍后更改。如果可能,我将在哪里以及如何实施?

是的,你可以。正如@Gastón Saillén在他的回答中提到的,当你第一次唱歌时,你会从注册提供商那里获得数据,但是一旦你使用Firebase登录,你可以通过使用UserProfileChangeRequest.Builder.setDisplayName((方法更新现有用户名来设置自定义用户名,如下所示:

FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
UserProfileChangeRequest userProfileChangeRequest = new UserProfileChangeRequest.Builder()
.setDisplayName("aedgar777")
.build();
firebaseUser.updateProfile(userProfileChangeRequest).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "aedgar777 updated!");
}
}
});

默认情况下,通过使用Google或Facebook登录,您可以从正在使用的服务(Google或Facebook(中为该用户分配其姓名,但是使用FirebaseAuth登录后,您可以显示任何类型的对话框,要求用户使用数据,姓名,出生日期等完成某个个人资料, 然后将该数据存储在Google-Facebook登录生成的userID中,并将该数据显示给用户。

最新更新