WuKongIM Docs

频道

理解频道如何表示消息目标,以及单聊、群聊、成员关系和消息历史如何围绕频道组织。

编辑此页报告文档问题

频道(Channel)可以理解为消息的“地址”或“房间”。每条消息都属于一个频道,频道决定消息发到哪里、接收范围是什么,以及消息在哪个范围内保持顺序。

一个频道由 channel_idchannel_type 共同标识。ID 相同但类型不同,会被当作两个不同的频道。

为什么频道重要

  • 确定消息目标:单聊发给某个用户,群聊发给某个群,本质上都是选择一个频道。
  • 组织参与者:频道类型和成员关系共同决定谁可以发送、谁可以接收。
  • 承载连续历史:普通持久消息在各自频道内编号、排序和恢复,不同频道互不混淆。
  • 复用通信能力:通知、客服、直播、社区和 Agent 等场景也可以建立在频道之上。

与其他概念的关系

  • 发送消息时必须指定目标频道;普通持久消息的顺序也以频道为边界。
  • 用户通过频道参与单聊、群聊或其他通信场景。
  • 设备只是用户进入频道的端点,不改变频道身份。
  • 会话是某个用户看到的频道入口;同一频道在不同用户侧有各自的未读和可见状态。

最常用的两类频道

场景Channel ID 怎么选谁维护参与关系
单聊发送时使用对方的 UID业务系统维护好友、陌生人或其他发送策略
群聊使用业务系统中稳定的群 ID业务系统创建群并把成员、黑白名单等状态同步给 WuKongIM

例如,Alice 给 Bob 发送单聊消息时,Alice 以 Bob 的 UID 作为目标;Bob 回复时以 Alice 的 UID 作为目标。WuKongIM 会在内部把双方视角归一到同一份单聊历史,应用不需要构造内部频道 ID。

除了单聊和普通群聊,WuKongIM 还定义了社区、资讯、直播、访客和 Agent 等专用类型。只有服务端、所选 SDK 和业务流程都明确支持时才使用它们,完整取值见 Channel Type

频道与业务群不是同一个概念

对于群聊,业务群和频道通常使用同一个群 ID,但职责不同:

业务系统负责WuKongIM 负责
群名称、头像、公告和群角色频道身份、消息路由和频道内顺序
谁可以建群、入群、邀请或退群保存已经同步的成员与频道策略
内容规则、租户隔离和业务审核持久化消息、实时投递和离线恢复

创建业务群之后,还要通过受信后端把成员和策略同步给 WuKongIM。仅知道一个 Channel ID 不代表用户已经有权加入或发送。

开发时记住

  • channel_id + channel_type 作为完整频道键,不能只保存 ID。
  • 单聊调用方使用对方 UID,不要把服务端内部规范化身份回写成业务好友 ID。
  • Channel Type 不是权限;成员、角色和内容策略仍由业务系统定义。
  • 面向十万成员群时,成员变更和在线投递需要分页与有界处理,具体方案见大群教程

继续阅读用户会话。需要理解频道副本、提交和迁移时查看 Channel 消息层

本页内容