用户信息托管
本文档旨在指导开发者如何在融云即时通讯客户端 SDK 中实现用户信息订阅、查询和监听,同时支持用户信息与权限的修改和查询。 通过本文档,开发者将了解如何获取和跟踪用户信息,以及如何在状态变更时接收通知。
注意 此功能在 5.10.1 版本开始支持。
开通服务
使用此功能前,您须在控制台开通信息托管服务。
用户信息管理
SDK 提供了用户信息修改、查询、订阅的相关接口。
更新当前用户信息
您可以使用 updateMyUserProfile 方 法来更新当前用户信息。
IUserProfileInfo属性介绍
属性名 | 类型 | 描述 |
---|---|---|
name | string | 昵称,长度不超过 32 个字符。 |
portraitUri | string | 头像地址,长度不超过 128 个字符。 |
uniqueId | string | 用户应用号,支持大小写字母、数字,长度不超过 32 个字符。请注意 SDK 不支持设置此字段。 |
string | Email,长度不超过 128 个字符。| | |
birthday | string | 生日,长度不超过 32 个字符 | |
gender | RCUserGender | 性别| |
location | string | 所在地,长度不超过 32 个字符。 |
role | number | 角色,支持 0~100 以内数字。 |
level | number | 级别,支持 0~100 以内数字。 |
userExtProfile | { [key: string]: string } | 自定义扩展信息,最多可以设置 20 个用户信息(以 Key、Value 方式设置,扩展用户信息的 Key 需通过开发者后台进行设置)
|
const profile = {
name: 'name',
portraitUri: 'portraitUri',
email: 'email',
birthday: 'birthday',
gender: 1,
location: 'location',
role: 1,
level: 1,
extraProfile: {
key1: 'value1',
key2: 'value2',
},
}
const res = await RongIMLib.updateMyUserProfile(profile);
console.log('更新用户资料结果:', res);
获取当前用户信息
使用 getMyUserProfile 方法来获取当前用户信息,用于展示。
const res = await RongIMLib.getMyUserProfile();
console.log('获取当前用户资料结果:', res);
批量获取他人用户信息
可以使用 getUserProfiles 方法来批量获取他人用户信息,一次最多查询 20 个用户的用户信息
const userIds = ['user1', 'user2'];
const res = await RongIMLib.getUserProfiles(userIds);
console.log('批量获取用户资料结果:', res);
用户权限
客户端 SDK 提供了用户权限的设置和获取接口,通过 RCUserProfileVisibility
枚举来表示用户权限。
UserProfileVisibility 枚举介绍:
枚举值 | 用户权限 |
---|---|
NOT_SET | 未设置:以 AppKey 权限设置为准,默认是此状态。 |
INVISIBLE | 都不可见:任何人都不能搜索到我的用户信息,名称、头像除外。 |
EVERYONE | 所有人:应用中任何用户都可以查看到我的用户信息。 |
用户权限设置
可以使用 UserProfileVisibility 方法来设置当前用户的用户信息访问权限。
const visibility = RongIMLib.UserProfileVisibility.EVERYONE;
const res = await RongIMLib.updateMyUserProfileVisibility(visibility);
console.log('用户权限设置结果:', res);