用户资料
功能描述
用户可以设置和获取个人的昵称、头像、签名等资料信息,也可以获取到陌生人的资料信息。相关方法在核心类
TencentImSDKPlugin.v2TIMManager.getFriendshipManager()
中。关系链事件监听器
注意:
只有预先设置好关系链事件监听器,才能正常接收到下文中的各种事件通知。
示例代码如下:
// 添加关系链监听器const frindshipListener = {onBlackListAdd: (infoList) => {},onBlackListDeleted: (userids) => {},onFriendApplicationListAdded: (applicationlist) => {},onFriendApplicationListDeleted: (applicationlist) => {},onFriendApplicationListRead: () => {},onFriendInfoChanged: (frindInfolist) => {},onFriendListAdded: (frindInfolist) => {},onFriendListDeleted: (userd) => {},};friendshipManager.addFriendListener(frindshipListener);// 移除关系链监听器friendshipManager.removeFriendListener(frindshipListener);
用户资料管理
查询和修改自己的资料
示例代码如下:
// 获取个人资料const self = await TencentImSDKPlugin.v2TIMManager.getLoginUser();TencentImSDKPlugin.v2TIMManager.getUsersInfo([self.data]);// 设置个人资料TencentImSDKPlugin.v2TIMManager.setSelfInfo({nickName: "",role: 0,faceUrl: "",});
查询非好友用户资料
说明:
不能修改非好友的资料。
查询和修改好友资料
您可以调用
getFriendsInfo
(Details) 接口查询指定的好友资料,从回调信息中通过 V2TIMFriendInfoResult
的 relation
字段可以得到该用户与自己的关系:relation | 与自己的关系 |
V2TIM_FRIEND_RELATION_TYPE_NONE | 表示不是好友。 |
V2TIM_FRIEND_RELATION_TYPE_BOTH_WAY | 表示互为好友。 |
V2TIM_FRIEND_RELATION_TYPE_IN_MY_FRIEND_LIST | 表示对方在我的好友列表中。 |
V2TIM_FRIEND_RELATION_TYPE_IN_OTHER_FRIEND_LIST | 表示我在对方的好友列表中。 |
// 获取好友信息const friendsInfo = await friendshipManager.getFriendsInfo(["userID"]);
// 设置好友信息TencentImSDKPlugin.v2TIMManager.setSelfInfo({nickName: "",role: 0,faceUrl: "",});
常见问题
增强版获取用户资料为什么不是最新的?
增强版 SDK 中用户资料的更新分好友和陌生人两种情况:
好友资料:由于好友资料更新时,后台会主动向 SDK 发送系统通知,因此好友资料可以实时更新。
陌生人资料:陌生人资料更新时,由于没有好友关系,后台无法向 SDK 发送系统通知,因此无法实时更新;为了避免每次获取用户资料都向后台发起网络请求,SDK 增加了缓存逻辑,对同一个用户主动向后台拉取资料的时间间隔为 10 分钟。