gpt4 book ai didi

android - 创建用户Android时用户的Firebase setDisplayName

转载 作者:IT老高 更新时间:2023-10-28 23:18:17 25 4
gpt4 key购买 nike

创建用户时,我希望能够设置他/她的显示名称。我如何在 Android 中做到这一点?这是我想要实现的示例:

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
FirebaseUser.getCurrentUser().setDisplayName(mName); //I want to do this
}
});

假设所有变量都已正确声明和/或初始化。

最佳答案

您可以通过编写以下三行代码来设置用户的 Firebase 显示名称:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(mName).build();

user.updateProfile(profileUpdates);

这样做,您的原始代码应如下所示:

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
// Sign in is successful
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(mName).build();

user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "User profile updated.");
}
}
});
}
});

Firebase 官方文档: Firebase Update a User's Profile

上述代码的作用是,当用户的帐户使用电子邮件和密码身份验证成功创建后,它将登录用户。用户登录后,您可以访问用户的 Firebase 用户对象属性并将显示名称属性设置为您想要的任何字符串。

这非常适合在验证电子邮件中测试用户的个人资料名称。

注意:Firebase 用户对象具有一组固定的基本属性 - 唯一 ID、主电子邮件地址、姓名和照片 URL。这些基本属性存储在项目的用户数据库中。此外,可以通过编程方式更新这些属性。但是,您不能直接向 Firebase 用户对象添加其他属性;相反,您可以在 Firebase 实时数据库中存储任何其他属性(即用户信息),并从那里引用它们。(Firebase User Object Properties Doc)

关于android - 创建用户Android时用户的Firebase setDisplayName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38114358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com