合并消息,即把一个或多个消息合并起来,作为一个新的消息类型,常用于转发聊天记录。消息合并和转发这个功能在消息互动的过程中更加快捷便捷。

转发单聊和群聊

合并支持消息类型

使用该功能需将 SDK 升级至2.10.1及以上版本。

发送失败的消息不支持合并和转发,建议您自行实现 disable 状态。

合并消息类型不支持转发 AVChatRoom(直播群)。

合并消息的要素

  • title - 合并消息的标题
  • abstractList - 合并消息的摘要列表
  • messageList - 合并消息的消息列表
  • compatibleText - 合并消息的兼容文本,当支持合并消息的高版本 SDK 向不支持合并消息的低版本 SDK 发送消息时,IM 后台会根据 SDK 的能力项,将这个合并消息转为 compatibleText 对应的普通文本消息,起到向下兼容提示的作用。

合并消息的数据结构

1、合并消息的 payload 结构

2、合并消息分大小buffer

#注意#

  • 当合并消息的字节数小于等于7K时,SDK 判定为小 buffer,接入侧调用 sendMessage 后 SDK 就直接发送,接收方直接查看即可。

  • 当合并消息的字节数大于7K时,SDK 判定为大 buffer,接入侧调用 sendMessage 后,SDK 会将此消息存储到云端,SDK 会把 JsonMsgKey 等信息发给对端。消息接收方查看消息时,需要先通过 下载合并消息的接口消息从云端下载到本地。

3、合并消息的嵌套层级保护

#注意#

一般接入侧可以限制10层,嵌套太多,会影响性能消耗和体验

为了安全和体验起见,嵌套层级不能超过100,超过100的消息会被 IM 后台截断。

如何实现

创建发送合并消息

请求参数如下表所示:

1、对合并的消息列表排序-按照时间先后顺序以及 seq 顺序转发

2、获取合并消息的 title

3、获取合并消息的摘要一般取前3条

4、创建合并消息并发送

创建转发消息并发送

创建转发消息,请求参数如下表所示

请求示例如下:

发送转发消息

1、单条转发

2、逐条转发

逐条转发是无序的,为保证消息的顺序,故同步发送,前一条消息发送成功,才发送下一条。目前限制是发送30条。

合并消息组件

消息合并组件是支持各类消息展现的组件,主要用于合并消息的展示。通过递归调用实现多层嵌套的 UI 展示。

  • 支持多层消息嵌套展示
  • 支持消息回退查看
  • 支持弹框拖动

您可以扫描二维码直接下载组件源码进行体验:

腾讯云通信

一直致力于

让每个企业

都享受智慧服务带来的改变

END

未来可期

长按扫码关注腾讯云通信官方微信公众号

以获取更多更专业的云通信知识

文章来源于腾讯云开发者社区,点击查看原文