好友管理
本文档旨在指导开发者如何使用融云即时通讯 Web IMLib SDK 实现添加好友、删除好友、查看好友列表、管理好友等功能。
提示
此功能从 5.12.0 版本开始支持。
开通服务
使用此功能前,您须在控制台开通信息托管服务。
好友事件监听
好友监听定义包含好友添加、删除、好友申请状态、清空全部好友、好友信息变更多端同步等。
监听返回的数据类型快速连接:
- 好友添加数据类型:IFriendAdd。
- 删除好友数据类型:IFriendDelete。
- 清空全部好友数据类型为
number
时间戳代表清空好友的时间。 - 好有申请数据类型:IFriendApplicationStatusChange。
- 好友信息变更多端同步数据类型:IFriendInfoChangedSync。
// 添加好友
RongIMLib.addEventListener(RongIMLib.Events.FRIEND_ADDED, (data) => {
// data 类型为 IFriendAdd
console.info('添加好友监听', data);
});
// 删除好友
RongIMLib.addEventListener(RongIMLib.Events.FRIEND_DELETE, (data) => {
// data 类型为 IFriendDelete
console.info('删除好友监听', data);
});
// 清空全部好友
RongIMLib.addEventListener(RongIMLib.Events.FRIEND_CLEARED, (data) => {
// data 类型为 number,时间戳代表清空好友的时间
console.info('清空全部好友监听', data);
});
// 好友申请
RongIMLib.addEventListener(RongIMLib.Events.FRIEND_APPLICATION_STATUS_CHANGED, (data) => {
// data 类型为 IFriendApplicationStatusChange
console.info('好友申请监听', data);
});
// 【多端同步】好友信息监听
RongIMLib.addEventListener(RongIMLib.Events.FRIEND_INFO_CHANGED_SYNC, (data) => {
// data 类型为 IFriendInfoChangedSync
console.info('【多端同步】好友信息监听', data);
});
好友在线状态与资料变更
好友之间的在线状态和用户资料变更,无需调用 subscribeEvent
接口主动订阅。
为了接收好友在线状态和资料事件的变更通知,您需要设置订阅监听器。监听器需要在连接之前调用。
订阅事件的变更,需要根据 SubscribeType 订阅类型来处理对应的业务, SubscribeType.FRIEND_ONLINE_STATUS
时代表好友在线状态;SubscribeType.FRIEND_USER_PROFILE
代表好友资料。
// 好有在线装填好友信息同步完成
RongIMLib.addEventListener(RongIMLib.Events.SUBSCRIBED_USER_STATUS_CHANGE, (data) => {
// 好友的在线状态变更
if (data.subscribeType === RongIMLib.SubscribeType.FRIEND_ONLINE_STATUS) {
console.info('好友的在线状态变更', data);
} else if (data.subscribeType === RongIMLib.SubscribeType.FRIEND_USER_PROFILE) {
// 好友的用户资料变更
console.info('好友的用户资料变更', data);
}
});
好友操作
添加好友
用户通过用户名、用户ID、手机号等信息,搜索出用户后,可选择是否输入好友申请内容,申请添加好友。
提示
一个用户最多可以添加 3000 个好友。
加好友权限说明
AppKey 默认用户信息权限为 需要用户同意添加好友。
下面列举了 AppKey
级权限与 用户
级权限综合说明:
AppKey 权限 | 用户级权限 | 结果 |
---|---|---|
都不可见、仅好友可见、所有人可见 | 未设置 | 以 AppKey 权限设置为准 |
都不可见、仅好友可见、所有人可见 | 设置为(都不可见、所有人可见、仅好友可见) | 以用户权限设置为准 |