跳到主要内容

监听频道状态变更

监听超级群频道类型切换通知

可通过监听 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 参数说明

参数类型说明
listIUltraChannelChangeInfo[]频道类型切换通知列表

IUltraChannelChangeInfo

参数类型说明
targetIdstring超级群 ID
channelIdstring超级群频道 ID
channelTypenumber超级群频道类型:0 超级群公有频道;1 超级群私有频道
changeTypenumber超级群频道类型变更通知: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 参数说明

参数类型说明
listIUltraChannelUserKickedInfo[]用户移出白名单通知列表

IUltraChannelUserKickedInfo

参数类型说明
targetIdstring超级群 ID
channelIdstring超级群频道 ID
channelTypenumber超级群频道类型:0 超级群公有频道;1 超级群私有频道
userIdnumber被移出白名单用户的 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 参数说明

参数类型说明
listIUltraChannelDeleteInfo[]删除超级群频道通知列表

IUltraChannelDeleteInfo

参数类型说明
targetIdstring超级群 ID
channelIdstring超级群频道 ID
channelTypenumber超级群频道类型:0 超级群公有频道;1 超级群私有频道
deleteTimenumber超级群频道删除时间

频道已删除的通知范围

  • 删除公有频道的通知:所有用户会收到通知。
  • 删除私有频道的通知:仅在私有频道成员列表的用户会收到通知。