监听频道状态变更
监听超级群频道类型切换通知
可通过监听 Events.ULTRA_GROUP_CHANNEL_TYPE_CHANGE
事件来捕获超级群频道类型切换的通知。
RongIMLib.addEventListener(RongIMLib.Events.ULTRA_GROUP_CHANNEL_TYPE_CHANGE, (list) => {
const { target, channelId, channelType, changeType } = list[0]
// channelType 0 为超级群公有频道;1 为超级群私有频道;
// changeType 2 为 超级群公有频道变成了私有频道;3 为超级群私有频道变成了公有频道;6 为超级群频道变成了私有频道,但是当前用户不再该私有频道中
})
list 参数说明
参数 | 类型 | 说明 |
---|---|---|
list | IUltraChannelChangeInfo[] | 频道类型切换通知列表 |
IUltraChannelChangeInfo
参数 | 类型 | 说明 |
---|---|---|
targetId | string | 超级群 ID |
channelId | string | 超级群频道 ID |
channelType | number | 超级群频道类型:0 超级群公有频道;1 超级群私有频道 |
changeType | number | 超级群频道类型变更通知:2 超级群公有频道变成了私有频道;3 超级群私有频道变成了公有频道;6 超级群公有频道变成了私有频道,但是当前用户不在该私有频道中; |
频道类型的变更的通知范围
-
公有频道变私有频道:公有频道变私有频道时,所有用户都会收到通知。但根据用户是否在私有频道成员列表中,收到的通知有差异:
-
在私有频道成员列表内的用户,收到的变 更类型是 2(超级群公有频道变成了私有频道)。
-
不在私有频道成员列表的用户,收到的变更类型为 6(超级群公有频道变成了私有频道,但是当前用户不在该私有频道中)。
如有需要,可在公有频道变私有频道前,提前指定用户加入私有频道成员列表。
-
-
私有频道变公有频道:私有频道变公有频道时,仅在私有频道成员列表的用户会收到通知,变更类型为 3(超级群私有频道变成了公有频道)。
监听超级群私有频道用户移出白名单通知
可通过监听 Events.ULTRA_GROUP_CHANNEL_USER_KICKED
事件来捕获超级群私有频道用户移出白名单的通知。
RongIMLib.addEventListener(RongIMLib.Events.ULTRA_GROUP_CHANNEL_USER_KICKED, (list) => {
const { target, channelId, channelType, userId } = list[0]
// channelType 0 为超级群公有频道;1 为超级群私有频道;
// userId 被移出超级群的用户 ID
}
list 参数说明
参数 | 类型 | 说明 |
---|---|---|
list | IUltraChannelUserKickedInfo[] | 用户移出白名单通知列表 |
IUltraChannelUserKickedInfo
参数 | 类型 | 说明 |
---|---|---|
targetId | string | 超级群 ID |
channelId | string | 超级群频道 ID |
channelType | number | 超级群频道类型:0 超级群公有频道;1 超级群私有频道 |
userId | number | 被移出白名单用户的 userId |
私有频道成员列表变更的通知范围
- 如果频道类型为私有频道,将用户从私有频道成员列表移除时,仅通知被移除的用户
- 如果频道类型为公有频道,将用户从私有频道成员名单移除时,不发送通知。注意,该列表在该公有频道变更类型为私有频道时才会生效。
监听超级群频道删除通知
可通过监听 Events.ULTRA_GROUP_CHANNEL_DELETE
事件来捕获超级群频道删除的通知。
RongIMLib.addEventListener(RongIMLib.Events.ULTRA_GROUP_CHANNEL_DELETE, (list) => {
const { target, channelId, channelType, deleteTime } = list[0]
// channelType 0 为超级群公有频道;1 为超级群私有频道;
// deleteTime 删除时间戳
})
list 参数说明
参数 | 类型 | 说明 |
---|---|---|
list | IUltraChannelDeleteInfo[] | 删除超级群频道通知列表 |
IUltraChannelDeleteInfo
参数 | 类型 | 说明 |
---|---|---|
targetId | string | 超级群 ID |
channelId | string | 超级群频道 ID |
channelType | number | 超级群频道类型:0 超级群公有频道;1 超级群私有频道 |
deleteTime | number | 超级 群频道删除时间 |
频道已删除的通知范围
- 删除公有频道的通知:所有用户会收到通知。
- 删除私有频道的通知:仅在私有频道成员列表的用户会收到通知。