跳到主要内容

获取频道列表

App 可按需使用客户端 SDK 与融云服务端 API 提供的能力,采取灵活的方式维护超级群的频道列表。

提示
  • 如果您的应用/环境在 2022.10.13 日及以后开通超级群服务,超级群业务中会包含一个 ID 为 RCDefault 的默认频道。如果发消息时不指定频道 ID,则该消息会发送到 RCDefault 频道中。在获取 RCDefault 频道的历史消息时,需要传入该频道 ID。
  • 如果您的应用/环境在 2022.10.13 日前已开通超级群服务,在发送消息时如果不指定频道 ID,则该消息不属于任何频道。获取历史消息时,如果不传入频道 ID,可获取不属于任何频道的消息。融云支持客户调整服务至最新行为。该行为调整将影响客户端、服务端收发消息、获取会话、清除历史消息、禁言等多个功能。如有需要,请提交工单咨询详细方案。

如何获取超级群全部频道列表

超级群下全部频道的列表可通过融云服务端 API (/ultragroup/channel/get.json) 获取。

注意,对单个用户来说,最多可以加入 100 个超级群,在每个超级群中最多可以加入或者创建 50 个频道。

提示

服务端会通过频道中收发的消息生成一个超级群频道列表。该列表仅包含了已产生了消息的频道,可能并非该超级群下全部频道的列表。

建议从 App 业务服务端维护超级群的频道列表。App 业务一般需要知晓当前用户的所加入的超级群,以及超级群下的频道列表,才能实现特定的业务功能。假设同一超级群下的不同用户需要展示个性化的频道列表(例如 App 需要在 UI 上展示用户标星的特定频道),则需要为用户保存超级群频道列表。

APP 服务端也可以按照需求将超级群分组(如超级群概述中的 UI 框架设计所示)。

获取当前登录用户的超级群会话列表

getUltraGroupList 获取超级群会话列表。该列表不包含未产生任何消息的会话。

参数说明

参数类型说明
optionsIGetUltraGroupListOption可选项。参见下方 IGetUltraGroupListOption 参数说明
  • IGetUltraGroupListOption 参数说明

    参数类型说明
    targetIdstring(可选项)超级群 ID
    channelTypenumber(可选项) 频道类型,值为 0 或 1,0 为公有频道,1 为私有频道

代码示例

const options = {
target: 'xxx',
channelType: 0
}
// options 不传为获取所有超级群会话列表;
// 获取指定频道类型的超级群频道列表:RongIMLib.getUltraGroupList(options)
RongIMLib.getUltraGroupList()
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})

获取当前登录用户免打扰超级群会话列表

getBlockUltraGroupList

代码示例

RongIMLib.getBlockUltraGroupList()
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})

批量获取超级群会话信息

getUltraGroupUnreadInfoList根据传入要查询的会话 id,获取该会话下所有频道的 IUltraGroupUnreadInfo 信息

代码示例

const targetIds = ['id01', 'id02']
RongIMLib.getUltraGroupUnreadInfoList(targetIds)
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})
参数类型说明
targetIdsstring[]数组长度大于 0, 小于等于 20