文档导航
Web
SDK 版本:  5.X
公告:融云新文档中心已上线,欢迎到新文档中心阅读 Web IMLibWeb IMKit 的文档。

自定义消息

更新时间:2023-10-27 PDF

除了使用 SDK 内置消息外,开发者可根据自己的业务需求自定义消息,自定义消息的类型、消息结构需要确保多端一致,否则将出现无法互通的问题。

注意事项:

  • 注册自定义消息代码必须在发送、接收该自定义消息之前
  • 推荐将所有注册自定义消息代码放在 init 方法之后, connect 方法之前
  • 注册的消息类型名, 必须多端一致, 否则消息无法互通
  • 请勿使用 RC: 开头的类型名,以免和 SDK 默认的消息名称冲突

注册自定义消息

使用 RongIMLib.registerMessageType 方法来注册自定义消息,该方法会返回自定义消息构造函数。

const PersonMessage = RongIMLib.registerMessageType('s:person', true, true, [], false)
              
已复制
1

参数 类型 说明
messageType string 消息类型
isPersited boolean 是否存储
isCounted boolean 是否计数
searchProps string[] 搜索字段,web 端无需设置,搜索字段值设置为数字时取值范围为 (-Math.pow(2, 64), Math.pow(2, 64)) 且为整数
isStatusMessage boolean 是否是状态消息。状态消息不存储、不计数,接收方在线时才能收到。
提示
  1. RongIMLib.registerMessageType 必须在 connect 之前调用,否则可能造成收取消息的行为异常。
  2. 请尽量把应用中所有涉及到的自定义消息统一一次注册,且同类型消息仅调用一次注册,便于管理。

发送自定义消息

API 参考:sendMessage

// 构建要发送的自定义消息
const message = new PersonMessage({ name: 'someone', age: 18 })

// 发送消息
RongIMLib.sendMessage({
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: '<targetId>'
}, message).then(res => {
  if (res.code === 0) {
    console.log(res.code, res.data)
  } else {
    console.log(res.code)
  }
})
              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14

文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈