Xamarin中使用Firebase时如何更新已创建用户的显示名称
Xamarin Firebase 更新用户显示名正确实现方式
完整可运行代码
创建用户完成后直接使用返回的用户实例提交更新请求即可,示例如下:
// 创建用户并获取创建结果 var authResult = await FirebaseAuth.Instance.CreateUserWithEmailAndPasswordAsync(email, password); // 获取刚创建完成的当前用户实例 var firebaseUser = authResult.User; // 构造属性更新请求 var updateRequest = firebaseUser.ProfileChangeRequest(); // 设置需要更新的显示名称 updateRequest.DisplayName = username; // 提交更新,执行完成后修改即生效 await updateRequest.CommitChangesAsync(); // 可选:如果需要立刻获取最新的用户信息,调用Reload刷新本地缓存 await firebaseUser.ReloadAsync();
原代码不生效原因
- 多余调用了
firebaseUserInfo.UpdateProfileAsync()方法,和CommitChangesAsync属于两套更新逻辑,混用会导致已经提交的显示名修改被覆盖 - 如果没有使用创建用户接口返回的用户实例,而是使用了其他上下文的用户对象,可能因为实例状态异常导致更新请求提交失败
后续取值说明
更新完成后用户下次登录时,登录接口返回的用户对象的DisplayName属性会直接携带设置的显示名,无需额外拉取。
内容的提问来源于stack exchange,提问作者Mercyfon
相关产品推荐
相关产品推荐

