更新时间: 2021-03-06

以下文档中标记的:是否计数、是否存储,指的客户端对应的默认配置,如果消息从服务端发出,融云 server 是否存储与消息类型无关; 可以通过发消息时候的isPersisted参数以及通过发送状态消息接口发出来控制融云服务端存储行为。

# 消息分类

消息分类 消息行为状态标识
内容类消息 表示一个用户间发送的包含具体内容的消息,需要展现在聊天界面上,如文字消息、语音消息等。
通知类消息 表示一个通知信息,可能展现在聊天界面上,如提示条通知。
状态类消息 表示一个状态,用来实现如“对方正在输入”的功能。
信令类消息 融云在实现 SDK 自身业务功能时使用的,开发者不需要对其做任何处理。

内容类消息

消息类型 ObjectName 是否计数 是否存储
文字消息 RC:TxtMsg
语音消息 旧消息类型 RC:VcMsg,新消息类型 RC:HQVCMsg
图片消息 RC:ImgMsg
GIF 图片消息 RC:GIFMsg
图文消息 RC:ImgTextMsg
文件消息 RC:FileMsg
位置消息 RC:LBSMsg
小视频消息 RC:SightMsg
引用消息 RC:ReferenceMsg
合并转发消息 RC:CombineMsg

通知类消息

消息类型 ObjectName 是否计数 是否存储
命令消息 RC:CmdMsg
联系人(好友)通知消息 RC:ContactNtf
资料通知消息 RC:ProfileNtf
提示条通知消息 RC:InfoNtf
群组通知消息 RC:GrpNtf
聊天室属性通知消息 RC:chrmKVNotiMsg

状态类消息

消息类型 ObjectName 是否计数 是否存储
对方正在输入状态消息 RC:TypSts
单聊已读通知消息 RC:ReadNtf
群已读状态请求消息 RC:RRReqMsg
群已读通知消息 RC:RRRspMsg
多端已读状态同步消息 RC:SRSMsg

音视频信令消息

内置信令消息是融云在实现 SDK 自身业务功能时使用的,通过融云实时消息路由服务及在服务端下载消息历史记录中获取消息,会包含此类消息,开发者不需要对其做任何处理。提供的信令消息内容如下:

消息类型 描述
RC:VCAccept 实时音视频接受
RC:VCHangup 实时音视频挂断
RC:VCInvite 实时音视频邀请
RC:VCModifyMedia 实时音视频切换
RC:VCModifyMem 实时音视频成员变化
RC:VCRinging 实时音视频响铃

# 内容类消息

# 文本消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:TxtMsg 存储 计数 存储 推送 消息内容

消息结构:

发送文本消息时 content 参数的 JSON 结构如下:

{
  "content":"Hello world!",
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11

属性说明:

名称 类型 必传 说明
content String 文字消息的文字内容,包括表情。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。
# 图片消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:ImgMsg 存储 计数 存储 推送 [图片]

消息结构:

发送图片消息时 content 参数的 JSON 结构如下:

{
  "content":"bhZPzJXimRwrtvc=",
  "imageUri":"http://p1.cdn.com/fds78ruhi.jpg",
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12

属性说明:

名称 类型 必传 说明
content String 图片缩略图,格式为 JPG,大小建议为 5k,最大不超过 80k,注意在 Base64 进行 Encode 后需要将所有 \r\n\r\n 替换成空。缩略图生成逻辑说明 (opens new window)
imageUri String 图片上传到图片存储服务器后的地址。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。

常见问题:

1、缩略图最大尺寸为:240 x 240 像素,以宽度和高度中较长的边不超过 240 像素等比压缩。

2、大图最大尺寸为:960 x 960 像素,以宽度和高度中较长的边不超过 960 像素等比压缩。

3、图片消息包括两个主要部分:缩略图和大图,如设置为原图发送则为缩略图和原图,缩略图直接 Base64 编码后放入 content 中,大图或原图首先上传到文件服务器(融云 SDK 中默认上传到七牛云存储),然后将云存储上的大图或原图地址放入消息体中。

4、发送图片消息时,需要自行上传图片文件到应用的文件服务器,生成地址后进行发送。

# GIF 图片消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:GIFMsg 存储 计数 存储 推送 [图片]

消息结构:

发送图片消息时 content 参数的 JSON 结构如下:

{
    "gifDataSize":34563,
    "height":246,
    "localPath":"/var/mobile/.../GIF_53",
    "remoteUrl":"https://rongcloud-image.cn.ronghub.com/image_jpe64562665566.jpg",
    "width":263,
    "user":
    {
      "id":"4242",
      "name":"Robin",
      "portrait":"http://example.com/p1.png",
      "extra":"extra"
    },
    "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

属性说明:

名称 类型 必传 说明
gifDataSize Int GIF 图片文件大小,单位为字节 Byte。
localPath String 下载 GIF 图片后存储在本地的图片地址。
remoteUrl String GIF 图片的服务器地址。
width Int GIF 图片宽度。
height Int GIF 图片高度。
user String 消息中携带的用户信息,IMKit SDK 会话界面中优先显示消息中携带的用户信息,可去掉此属性。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。
# 语音消息

从 SDK 2.9.19 版本开始支持 RC:HQVCMsg 语音消息功能,RC:HQVCMsg 语音消息与旧版本 SDK 不兼容,旧版本 SDK 无法收听新的语音消息。

新语音消息 RC:HQVCMsg 和旧版本语音消息 RC:VcMsg 不同的是将录制的音频数据存储到服务端,而消息体内只保存 URL。摆脱了消息体 128K 的大小限制,所以拥有更高音质。语音时长上限为 60 秒,客户端收到消息后计入未读消息数、进行存储。

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:HQVCMsg 存储 计数 存储 推送 [语音]

消息结构:

发送高质量语音消息时 content 参数的 JSON 结构如下:

{
  "localPath":"/9j/4AAQSkZ/2wBaSiimB//9k=",
  "remoteUrl":"http://p1.cdn.com/fds78ruhi.aac",
  "duration":7,
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13

参数说明:

参数 类型 必传 说明
localPath String 采用 AAC 格式进行编码录制的媒体内容本地路径。
remoteUrl String 媒体内容上传服务器后的网络地址。
duration Int 语音消息的时长,最长为 60 秒(单位:秒)。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 参数说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。

常见问题

1、发送高质量语音消息时,需要自行生成 AAC 格式文件并上传文件到应用的文件服务器,生成地址后进行发送。

# 文件消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:FileMsg 存储 计数 存储 推送 [文件] + 文件名,如:[文件] 123.txt

消息结构:

发送文件消息时 content 参数的 JSON 结构如下:

{
  "name":"file.txt",
  "size":190184,
  "type":"txt",
  "fileUrl":"http://www.demo.com/am.ind",
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14

属性说明:

名称 类型 必传 说明
name String 文件名称。
size String 文件大小,单位:Byte。
type String 文件类型。
fileUrl String 文件地址。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。

常见问题

1、通过 Server API 发送文件消息时,需要自行上传文件到应用的文件服务器,生成文件地址后进行发送。

# 图文消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:ImgTextMsg 存储 计数 存储 推送 [图文]

消息结构:

发送图文消息时 content 参数的 JSON 结构如下:

{
  "title":"标题",
  "content":"消息描述",
  "imageUri":"http://p1.cdn.com/fds78ruhi.jpg",
  "url":"http://www.rongcloud.cn",
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "icon":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14

属性说明:

名称 类型 必传 说明
title String 消息的标题。
content String 消息的文字内容。
imageUri String 消息中图片地址,图片尺寸为:120 x 120 像素。
url String 点击图片消息后跳转的 URL 地址。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
icon 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。

常见问题

1、图文消息中的图片文件,需要开发者自行上传到应用的文件服务器,生成文件地址后进行发送。

# 小视频消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:SightMsg 存储 计数 存储 推送 [小视频]

消息结构:

发送小视频消息时 content 参数的 JSON 结构如下:

{
  "sightUrl":"http://rongcloud...com/video...",
  "content":"/9j/4AAQSkZ/2wB...hDSaSiimB//9k=",
  "duration":2,
  "size":734320,
  "name":"video_xx.mp4",
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":"extra"
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

属性说明:

名称 类型 必传 说明
sightUrl String 上传到文件服务器的小视频地址。
content String 小视频首帧的缩略图进行 Base64 编码的结果值,格式为 JPG,注意在 Base64 进行 Encode 后需要将所有 \r\n 和 \r 和 \n 替换成空。
duration Int 视频时长,单位:秒。
size String 视频大小单位 Byte。
name String 发送端视频的文件名,小视频文件格式为 MP4
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。

常见问题

1、通过 Server API 发送视频消息时,需要自行上传视频文件到应用的文件服务器,生成文件地址后进行发送。

2、IMKit SDK 中目前支持播放的视频文件格式为 mp4,IMLib SDK 中播放功能需要开发者自行实现。

# 位置消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:LBSMsg 存储 计数 存储 推送 [位置]

消息结构:

发送位置消息时 content 参数的 JSON 结构如下:

{
  "content":"bhZPzJXimRwrtvc=",
  "latitude":39.9139,
  "longitude":116.3917,
  "poi":"北京云中融信网络科技有限公司",
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14

属性说明:

名称 类型 必传 说明
content String 表示位置图片缩略图,格式为 JPG,以 Base64 进行 Encode 后需要将所有 \r\n\r\n 替换成空。
latitude String 位置的纬度值。
longitude String 位置的经度值。
poi String 表示位置的 poi 信息。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。
# 引用消息

对指定消息内容进行回复发送,目前支持被引用的消息,包括:文本消息、文件消息、图文消息、图片消息,被引用的消息可以再次被引用回复。

一般应用于单聊、群聊场景。

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:ReferenceMsg 存储 计数 存储 推送 消息内容

消息结构:

发送引用消息时 content 参数,以引用对象为文本消息为例,结构如下:

{
  "content":"消息内容!",
  "referMsgUserId":"432432",
  "objName":"RC:TxtMsg",
  "referMsg":{
    "content":"Hello world!",
    "extra":""
  },
  "mentionedInfo":{
    "type":2,
    "userIdList":["123","456"],
    "mentionedContent":"有人@你"
  },
  "user":
  {
    "id":"4242",
    "name":"Robin",
    "portrait":"http://example.com/p1.png",
    "extra":"extra"
  },
  "extra":""
}
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

属性说明:

名称 类型 必传 说明
content String 引用消息时发送的文字内容,包括表情。
referMsgUserId String 被引用消息的发送用户 Id。
referMsg String 被引用消息的消息结构 JSON 格式。
objName String 被引用消息的消息类型,目前支持的消息类型:文本 RC:TxtMsg、图片 RC:ImgMsg、文件 RC:FileMsg
mentionedInfo String 群组中 @ 消息信息,详细查看属性说明,单聊场景下无需设置此属性。
user String 消息中携带的用户信息,详细查看 user 参数说明。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

user 属性说明:

名称 说明
id 发送用户 Id。
name 发送用户需要显示的名称。
portrait 发送用户需要显示的头象。
extra 扩展信息,可以放置任意的数据内容。

mentionedInfo 属性说明:

名称 类型 必传 说明
type int @ 功能类型,1 表示 @ 所有人、2 表示 @ 指定用户。
userIdList String[] 指定用户列表,type 为 2 时有效,为 1 时 userIdList 可以为空。
mentionedContent String @ 消息的自定义 Push 内容。
# 合并转发消息

IMKit SDK 中发送的合并转发消息类型,合并后的消息以 HTML 文件的方式存储到融云服务端,客户端收到消息后计入未读消息数、进行存储,该消息只能通过 IMKit SDK 发送。

消息类名 存储属性 计数属性 离线属性 推送属性 推送内容
RC:CombineMsg 存储 计数 存储 推送 [聊天记录]

消息结构:

{
  "localPath":"file:///storage/emulated/0/Android/data/cn.rongcloud.im/cache/combine/157829828.html",
  "remoteUrl":"https://rongcloud-html-cn.ronghub.com/text_plain__RC-2019-12-17_754_157130.html?e=1592Q=",
  "conversationType":1,
  "nameList":["lisx","ddddd"],
  "summaryList":["lisx : nzj","ddddd : 记得记得晋级赛","ddddd : 就是就是睡觉觉","lisx : nznznn"]
}
已复制
1
2
3
4
5
6
7

属性说明:

名称 类型 必传 说明
localPath String 合并转发消息详细信息的本地 HTML 文件路径。
remoteUrl String 存储在融云服务器的远端 HTML 文件路径。
conversationType Int 会话类型,目前支持二人会话及群聊会话,二人会话是 1 、群组会话是 3 。
nameList String 在会话界面显示的合并转发消息中,前 4 条消息的用户名称。
summaryList String 在会话界面显示的合并转发消息中,前 4 条消息的简略信息,与 nameList 属性相对应。

# 通知类消息

# 命令消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:CmdMsg 不存储 不计数 存储 不推送

消息结构:

运营平台向终端发送指令信息时可使用此命令消息,消息中 content 参数的 JSON 结构如下:

{
  "name":"AtPerson",
  "data":"{\"sourceId\":\"9527\"}"
}
已复制
1
2
3
4

属性说明:

名称 类型 必传 说明
name String 命令名称,可以自行定义。
data String 命令的内容。
# 提示小灰条消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:InfoNtf 存储 不计数 存储 不推送

消息结构:

发送小灰条消息时 content 参数的 JSON 结构如下:

{
  "message":"请在聊天中注意人身财产安全",
  "extra":""
}
已复制
1
2
3
4

属性说明:

名称 类型 必传 说明
message String 提示条消息内容。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。
# 资料变更通知消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:ProfileNtf 存储 不计数 存储 不推送

消息结构:

发送用户资料变更消息时 content 参数的 JSON 结构如下:

{
  "operation":"Update",
  "data":"{\"nickname\":\"韩梅梅\", \"hometown\":\"beijing\"}",
  "extra":""
}
已复制
1
2
3
4
5

属性说明:

名称 类型 必传 说明
operation String 资料通知操作,可以自行定义。
data String 操作的数据。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。
# 联系人(好友)通知消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:ContactNtf 存储 不计数 存储 不推送

消息结构:

发送加好友消息时 content 参数的 JSON 结构如下:

{
  "operation":"Request",
  "sourceUserId":"123",
  "targetUserId":"456",
  "message":"我是小艾,能加一下好友吗?",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

名称 类型 必传 说明
operation String 联系人操作的指令,官方针对 operation 属性定义了 "Request", "AcceptResponse", "RejectResponse" 几个常量,也可以由开发者自行扩展。
sourceUserId String 发出通知的用户 Id。
targetUserId String 单聊会话为接收通知的用户 Id,群聊、聊天室会话为会话 Id。
message String 表示请求或者响应消息,如添加理由或拒绝理由。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。
# 群组通知消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:GrpNtf 存储 不计数 存储 不推送

消息结构:

发送群组操作通知消息时 content 参数的 JSON 结构如下:

{
  "operatorUserId":"4324",
  "operation":"Rename",
  "data":"群组中各种通知的操作数据",
  "message":"修改本群名为本地生活",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

名称 类型 必传 说明
operatorUserId String 操作人用户 Id。
operation String 操作名称,可以自行定义。
data String 群组中各种通知的操作数据,详见“群组通知消息结构数据说明”。
message String 消息内容。
extra String 扩展信息,可以放置任意的数据内容,也可以去掉此属性。

群组通知消息结构数据说明:

融云内置的群组操作通知消息结构 JOSN 格式如下:

  1. 创建群组:
{
  "operatorUserId":"4324",
  "operation":"Create",
  "data":"{\"operatorNickname\":\"李天\",\"targetGroupName\":\"群名\"}",
  "message":"创建群组",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

  • operatorUserId 为操作人用户 Id
  • operation 操作名,默认为 Create
  • data 数据内容,operatorNickname 为操作者,targetGroupName 为群名称
  1. 修改群名称
{
  "operatorUserId":"4324",
  "operation":"Rename",
  "data":"{\"operatorNickname\":\"李天\",\"targetGroupName\":\"群名\"}",
  "message":"修改群名称",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

  • operatorUserId 为操作人用户 Id
  • operation 操作名,默认为 Rename
  • data 数据内容,operatorNickname 为操作者,targetGroupName 为群名称
  1. 添加群成员
{
  "operatorUserId":"4324",
  "operation":"Add",
  "data":"{\"operatorNickname\":\"李天\",\"targetUserIds\":[\"wGPkc0\"],\"targetUserDisplayNames\":[\"腾飞\"]}",
  "message":"添加群成员",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

  • operatorUserId 为操作人用户 Id
  • operation 操作名,默认为 Add
  • data 数据内容,operatorNickname 为操作者
  • targetUserIds 为被加入群的用户 ID
  • targetUserDisplayNames 为被加入群的用户与 targetUserIds 相对应
  1. 移出群成员
{
  "operatorUserId":"4324",
  "operation":"Kicked",
  "data":"{\"operatorNickname\":\"李天\",\"targetUserIds\":[\"wGPkc0\"],\"targetUserDisplayNames\":[\"腾飞\"]}",
  "message":"移出群成员",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

  • operatorUserId 为操作人用户 Id
  • operation 操作名,默认为 Kicked
  • data 数据内容,operatorNickname 为操作者
  • targetUserIds 为被移出群的用户 ID
  • targetUserDisplayNames 为被移出群的用户名与 targetUserIds 相对应
  1. 退出群组
{
  "operatorUserId":"4324",
  "operation":"Quit",
  "data":"{\"operatorNickname\":\"李天\",\"targetUserIds\":[\"wGPkc0VpO\"],\"targetUserDisplayNames\":[\"腾飞\"],\"newCreatorId\":\"newCreatorId\"}",
  "message":"退出群组",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

  • operatorUserId 为操作人用户 Id
  • operation 操作名,默认为 Quit
  • data 数据内容,operatorNickname 为操作者,targetUserIds 为操作者 ID ,targetUserDisplayNames 为操作者
  • newCreatorId 如退出群的用户为群创建者则 newCreatorId 为新的群创建者 ID ,否则为 null
  1. 解散群组
{
  "operatorUserId":"4324",
  "operation":"Dismiss",
  "data":"{\"operatorNickname\":\"李天\"}",
  "message":"解散群组",
  "extra":""
}
已复制
1
2
3
4
5
6
7

属性说明:

  • operatorUserId 为操作人用户 Id
  • operation 操作名,默认为 Dismiss
  • data 数据内容,operatorNickname 为操作者
# 聊天室属性通知消息
ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:chrmKVNotiMsg 存储 不计数 存储 不推送

消息结构:

发送聊天室属性通知消息时 content 参数的 JSON 结构如下:

{
 "type":1,
 "key":"name",
 "value":"主播",
 "extra":""
}
已复制
1
2
3
4
5
6
名称 类型 必传 说明
type Int 聊天室中对属性操作后发送通知的类型,1 为设置属性内容、2 为删除属性内容。
key String 聊天室中属性名称,大小不超过 128 个字符。
value String 属性对应的内容,大小不超过 4096 个字符。
extra String 通过消息中携带的附加信息,对应到设置属性接口中的 notificationExtra 值。

# 状态类消息

# 发送正在输入状态消息

单聊场景下用来发送对方正在输入时的状态消息,客户端收到消息后不计入未读消息数、不存储。

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:TypSts 不存储 不计数 不存储 不推送

消息结构:

{
  "typingContentType":"RC:TxtMsg"
}
已复制
1
2
3

常见问题

名称 类型 必传 说明
typingContentType String 正在输入消息类型。
# 已读通知消息

用来发送消息已经被接收到的状态消息,客户端收到消息后不计入未读消息数、不存储,此类型消息没有 Push 通知。

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:ReadNtf 不存储 不计数 存储

消息结构:

发送已读通知消息时 content 结构如下:

{
  "lastMessageSendTime":1408706337,
  "messageUId":"XXXXXX",
  "type":1
}
已复制
1
2
3
4
5

属性说明:

名称 类型 必传 说明
lastMessageSendTime Int 已读的最后一条消息的发送时间。
messageUId String 已读的最后一条消息的 UId,消息唯一标识。
type Int 会话类型,目前该消息只支持单聊会话,类型为 1。
# 群已读状态请求消息

群组中发送一条消息,需要获取此条消息的已读回执时,可向群组中发送已读请求消息。用户收到此条消息后,当指定消息已读后,会向消息发送用户发送已读状态消息。

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:RRReqMsg 不存储 不计数 存储

消息结构:

发送已读通知消息时 content 结构如下:

{
  "messageUId":"596E-P5PG-4FS2-7OJK"
}
已复制
1
2
3

属性说明:

名称 类型 必传 说明
messageUId String 需要请求已读回执消息的消息 ID
# 群已读通知消息

用来发送群组中已读的消息状态,客户端收到消息后不计入未读消息数、不存储。

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:RRRspMsg 不存储 不计数 存储

消息结构:

发送已读通知消息时 content 结构如下:

{
  "receiptMessageDic":{"wX7zFv8dR":["BJN3-LSG0-7MUC-OR7A"]}
}
已复制
1
2
3

属性说明:

名称 类型 必传 说明
receiptMessageDic String 需要回执的消息的字典,Key 为发送者 userId ,Value 是该用户需要回执的消息的 MessageUId 的数组。
# 多端已读状态同步消息

用户多端时,一端消息已读后,同步到另一端的已读通知消息

ObjectName 存储属性 计数属性 离线属性 推送属性 推送内容
RC:SRSMsg 不存储 不计数 存储

消息结构:

发送已读通知消息时 content 结构如下:

{
  "lastMessageSendTime":1610941689734
}
已复制
1
2
3

属性说明:

名称 类型 必传 说明
lastMessageSendTime Int 已读的最后一条消息的发送时间

# 信令消息

# 音视频信令消息

内置信令消息是融云在实现 SDK 自身业务功能时使用的,通过融云实时消息路由服务及在服务端下载消息历史记录中获取消息,会包含此类消息,开发者不需要对其做任何处理。提供的信令消息内容如下:

消息类型 描述
RC:VCAccept 实时音视频接受
RC:VCHangup 实时音视频挂断
RC:VCInvite 实时音视频邀请
RC:VCModifyMedia 实时音视频切换
RC:VCModifyMem 实时音视频成员变化
RC:VCRinging 实时音视频响铃

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助