用户信息托管
本文档旨在指导开发者如何在融云即时通讯 HarmonyOS 客户端 SDK 中实现用户信息订阅、查询和监听,同时支持用户信息与权限的修改、查询。
通过本文档,HarmonyOS 开发者将了解如何获取和跟踪用户信息,以及如何在用户信息变更、订阅状态变更时接收通知。
提示
此功能在 25.12.0 版本开始支持。
开通服务
信息托管服务已默认开通,您可以直接使用此功能。
管理用户信息
可以修改或查询自己的用户信息,批量查询指定多个用户的用户信息。
设置用户信息
用户在应用中使用 updateMyUserProfile 可以修改自己的用户信息,您需要设置的相关用户信息可以通过创建 UserProfile 对象来配置相关属性。
提示
默认情况下,您设置的资料信息不会进行审核。如需要开通审核功能,请前往融云控制台 IM 服务 > 功能配置 > 安全&审核 > IM 信息托管审核,开启并设置需要审核的内容。
接口
TypeScript
public updateMyUserProfile(profile: UserProfile): Promise<IAsyncResult<Array<string>>>;
参数说明
下表描述 UserProfile 类的属性, 也可参考 API 文档。
| 属性名 | 类型 | 描述 |
|---|---|---|
| name | string | 昵称,长度不超过 32 个字符。 |
| portraitUri | string | 头像地址,长度不超过 128 个字符。 |
uniqueId | string | 用户应用号,支持大小写字母、数字,长度不超过 32 个字符。请注意 SDK 不支持设置此字段。 |
email | string | Email,长度不超过 128 个字符。 |
birthday | string | 生日,长度不超过 32 个字符。 |
gender | UserGender | 性别,未知 0、男 1、女 2。 |
location | string | 所在地,长度不超过 32 个字符。 |
role | int | 角色,支持 0~100 以内数字。 |
level | int | 级别,支持 0~100 以内数字。 |
userExtProfile | HashMap | 自定义扩展信息,最多可以设置 20 个用户信息(以 Key、Value 方式设置,扩展用户信息通过开发者后台进行设置)
|
示例代码
TypeScript
// 更新自己的用户信息
let profile = new UserProfile();
profile.name = "name";
profile.gender = UserGender.UserGenderMale;
profile.role = 0;
profile.level = 0;
profile.userExtProfile = new HashMap<string, string>();
profile.userExtProfile.set("key", "value");
IMEngine.getInstance().updateMyUserProfile(profile).then((result: IAsyncResult<Array<string>>) => {
if (result.code === EngineError.Success) {
// 更新成功
} else {
// 更新失败
}
});
获取当前用户信息
您可以使用 getMyUserProfile 方法获取当前用户信息。