自定义消息
除了使用 SDK 内置消息外,开发者可根据自己的业务需求自定义消息,自定义消息的类型、消息结构需要确保多端一致,否则将出现无法互通的问题。
注意事项:
- 注册自定义消息代码必须在发送、接收该自定义消息之前
- 推荐将所有注册自定义消息代码放在
init
方法之后,connect
方法之前 - 注册的消息类型名, 必须多端一致, 否则消息无法互通
- 请勿使用
RC:
开头的类型名,以免和 SDK 默认的消息名称冲突
注册自定义消息
使用 RongIMLib.registerMessageType
方法来注册自定义消息,该方法会返回自定义消息构造函数。
const PersonMessage = RongIMLib.registerMessageType('s:person', true, true, [], false)
参数 | 类型 | 说明 |
---|---|---|
messageType | string | 消息类型 |
isPersited | boolean | 是否存储 |
isCounted | boolean | 是否计数 |
searchProps | string[] | 搜索字段,web 端无需设置,搜索字段值设置为数字时取值范围为 (-Math.pow(2, 64), Math.pow(2, 64)) 且为整数 |
isStatusMessage | boolean | 是否是状态消息。状态消息不存储、不计数,接收方在线时才能收到。 |
提示
RongIMLib.registerMessageType
必须在connect
之前调用,否则可能造成收取消息的行为异常。- 请尽量把应用中所有涉及到的自定义消息统一一次注册,且同类型消息仅调用一次注册,便于管理。