( 最近更新时间:2020-04-28 19:00:00 )
# 功能描述
消息属性 | 消息描述 | 消息属性 | 消息描述 |
---|---|---|---|
消息类名 | 各端消息名 | ObjectName | 传输层名称,与消息类名一一对应 |
存储属性 | 存储 / 不存储 | 计数属性 | 计数 / 不计数 |
离线属性 | 缓存 / 不缓存 | 消息尺寸 | 128 KB |
推送属性 | 是/否 | 推送内容 | 详见各消息类送方式 |
# 存储属性
存储属性 | 存储分类 | 支持平台 | 详细描述 |
---|---|---|---|
存储 | 客户端 | Android、iOS | 发送、接收该消息后,本地数据库存储 Web 端 和 小程序端因本地存储不可靠,不支持客户端消息存储,但可通过历史消息云存储服务获取历史记录 |
存储 | 云端 | Android、iOS、Web | 默认不在云端进行存储,需开通历史消息云存储 (opens new window)服务,开通后,可在融云服务端存储 6 个月的历史消息,供客户端按需拉取 |
不存储 | 客户端 | Android、iOS | 发送、接收该消息后,本地数据库不存储 |
不存储 | 云端 | Android、iOS、Web | 无论是否开通历史消息云存储服务,该消息均不存储 |
# 计数属性
接收收到消息时,会话是否累计未读数。
计数属性 | 支持平台 | 详细描述 |
---|---|---|
计数 | iOS、Android、Web | 会话未读消息数 + 1,该属性只影响会话列表未读数计数,App 应用角标可根据每个会话列表未读数累加获得 |
不计数 | iOS、Android、Web | 会话未读消息数不变 |
# 离线属性
接收人当前不在线时,是否进行离线缓存。
离线属性 | 详细描述 |
---|---|
存储 | 消息进行离线缓存,默认 7 天。接收人在 7 天内上线,均可接收到该消息。超过 7 天后,消息被离线缓存淘汰。如有需要,可通过云端存储拉取到该消息 |
不存储 | 消息不进行离线缓存,所以只有接收人在线时,才可收到该消息。该消息不进行历史消息云存储、不进入云端存储( Log 日志 )、不进行消息同步( 消息路由 ) |
# 推送属性
接收人是否接收推送,当离线属性为 存储
时,该属性生效。离线属性为 不存储
时属性无效。
由于 Web、小程序、PC 端没有推送平台,无法收到推送提醒。
推送属性 | 平台 | 推送方式 | 详细描述 |
---|---|---|---|
推送 | iOS、Android | APNS、华为、小米、魅族、OPPO、vivo、FCM、融云 | 当有离线缓存消息时,进行远程推送提醒,内容为该推送提醒显示的内容 |
不推送 | iOS、Android | -- | 当有离线缓存消息时,不进行远程推送提醒 |
# 实现方法
落地通知是指系统向 App 中所有用户发送消息的行为。当用户正在打开 App 时,消息会展示在聊天界面和会话列表界面,同时该消息会存储在客户端的本地数据库中,会话类型为 SYSTEM。
该功能开发环境下可免费使用。生产环境下,需要在开发者后台高级功能设置 (opens new window)中开通 IM 商用版后,在“广播消息和推送”中,开启后才能使用。
融云服务端的处理能力为每秒钟 2000 条,即每秒钟可以向 2000 个目标用户发送消息。
# 发送标签通知
系统通知消息,只能通过 Server API 进行发送,终端用户收到系统消息后,不支持消息回复功能。
输入参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
platform | String[] | 是 | 目标操作系统,iOS、Android 最少传递一个。如果需要给两个系统推送消息时,则需要全部填写,发送时如目标用户在 Web 端登录也会收到此条消息。 |
fromuserid | String | 是 | 发送人用户 Id。 |
audience | String | 是 | 推送条件,包括: tag、userid、is_to_all。 |
tag | String[] | 否 | 用户标签,每次发送时最多发送 20 个标签,标签之间为 AND 的关系,is_to_all 为 true 时参数无效。 |
tag_or | String[] | 否 | 用户标签,每次发送时最多发送 20 个标签,标签之间为 OR 的关系,is_to_all 为 true 时参数无效,tag_or 同 tag 参数可以同时存在。 |
userid | String[] | 否 | 用户 Id,每次发送时最多发送 1000 个用户,如果 tag 和 userid 两个条件同时存在时,则以 userid 为准,如果 userid 有值时,则 platform 参数无效,is_to_all 为 true 时参数无效。 |
is_to_all | String | 是 | 是否全部推送,false 表示按 tag 、tag_or 或 userid 条件推送,true 表示向所有用户推送,tag、tag_or 和 userid 条件无效。 |
content | String | 是 | 发送消息内容,详见消息结构示例;如果 objectName 为自定义消息类型,该参数可自定义格式。 |
objectName | String | 是 | 消息类型,详见消息结构示例;可自定义消息类型,长度不超过 32 个字符。 |
notification | String | 否 | 按操作系统类型推送消息内容,如 platform 中设置了给 iOS 和 Android 系统推送消息,而在 notification 中只设置了 iOS 的推送内容,则 Android 的推送内容为最初 alert 设置的内容。 |
alert | String | 是 | 默认推送消息内容,如填写了 iOS 或 Android 下的 alert 时,则推送内容以对应平台系统的 alert 为准。 |
ios | String | 否 | 设置 iOS 平台下的推送及附加信息。 |
android | String | 否 | 设置 Android 平台下的推送及附加信息。 |
alert | String | 否 | iOS 或 Android 不同平台下的推送消息内容,传入后默认的推送消息内容失效,不能为空。 |
contentAvailable | Int | 否 | 针对 iOS 平台,对 SDK 处于后台暂停状态时为静默推送,是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行,查看详细 (opens new window)。1 表示为开启,0 表示为关闭,默认为 0 |
extras | String | 否 | iOS 或 Android 不同平台下的附加信息,如果开发者自己需要,可以自己在 App 端进行解析。 |
返回结果:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
示例代码:
请求地址: https://数据中心域名/push.json
请求方法: POST
调用频率: 通过 Server API 每小时只能发送 2 次,每天最多发送 3 次。可在开发者后台 (opens new window)调整发送频率。
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
Request:
POST /push.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314 Timestamp: 1585127132438 Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json { "platform":["ios","android"], "fromuserid": "fromuseId1", "audience":{ "tag":["女","年轻"], "tag_or":["北京","上海"], "userid":["123","456"], "is_to_all":false }, "message": { "content": "{\"content\":\"1111\",\"extra\":\"aa\"}", "objectName": "RC:TxtMsg" }, "notification":{ "alert":"this is a push", "ios": {"alert": "override alert","extras": {"id": "1","name": "2"}}, "android": {"alert": "override alert","extras": {"id": "1","name": "2"}} } }
已复制
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
2
3
4
# 添加标签
为应用中的用户添加标签,如果某用户已经添加了标签,再次对用户添加标签时将覆盖之前设置的标签内容。
输入参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
userId | String | 是 | 用户 Id。 |
tags | String[] | 是 | 用户标签,一个用户最多添加 20 个标签,每个 tag 最大不能超过 40 个字节,标签中不能包含特殊字符。 |
返回结果:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
代码示例:
请求地址: https://数据中心域名/user/tag/set.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
Request:
POST /user/tag/set.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314 Timestamp: 1408706337 Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"userId":"31232","tags":["bj","男"]}
已复制
2
3
4
5
6
7
8
9
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
2
3
4
# 批量添加标签
为应用中的用户添加标签,如果某用户已经添加了标签,再次对用户添加标签时将覆盖之前设置的标签内容。
输入参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
userIds | String[] | 是 | 用户 Id,一次最多支持 1000 个用户。 |
tags | String[] | 是 | 用户标签,一个用户最多添加 20 个标签,每个 tag 最大不能超过 40 个字节,标签中不能包含特殊字符。 |
返回结果:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
代码示例:
请求地址: https://数据中心域名/user/tag/batch/set.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
Request:
POST /user/tag/batch/set.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314 Timestamp: 1408706337 Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/json {"userIds":["id1","id2"],"tags":["bj","男"]}
已复制
2
3
4
5
6
7
8
9
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
2
3
4
# 获取用户标签
输入参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
userIds | String[] | 是 | 用户 Id,一次最多支持 50 个用户。 |
返回结果:
返回值 | 返回类型 | 说明 |
---|---|---|
code | int | 返回码,200 为正常。 |
result | String[] | 用户所有的标签数组。 |
代码示例:
请求地址: https://数据中心域名/user/tags/get.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
Request:
POST /user/tags/get.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314 Timestamp: 1408706337 Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4 Content-Type: application/x-www-form-urlencoded userIds=111&userIds=222
已复制
2
3
4
5
6
7
8
9
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
2
3
4
# 消息结构示例
通过 Server API 发送的消息,消息体为 JSON 结构,以下为融云内置消息类型说明:
# 文本消息
ObjectName | 存储属性 | 计数属性 | 离线属性 | 推送属性 | 推送内容 |
---|---|---|---|---|---|
RC:TxtMsg | 存储 | 计数 | 存储 | 推送 | 消息内容 |
消息结构:
发送文本消息时 content 参数的 JSON 结构如下:
{ "content":"Hello world!", "user": { "id":"4242", "name":"Robin", "portrait":"http://example.com/p1.png", "extra":"extra" }, "extra":"" }
已复制
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":"" }
已复制
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":"" }
已复制
2
3
4
5
6
7
8
9
10
11
12
13
14
15
属性说明:
名称 | 类型 | 必传 | 说明 |
---|---|---|---|
gifDataSize | Int | 是 | GIF 图片文件大小,单位为 KB。 |
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":"" }
已复制
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":"" }
已复制
2
3
4
5
6
7
8
9
10
11
12
13
14
属性说明:
名称 | 类型 | 必传 | 说明 |
---|---|---|---|
name | String | 是 | 文件名称。 |
size | String | 是 | 文件大小,单位:bytes。 |
type | String | 是 | 文件类型。 |
fileUrl | String | 是 | 文件地址。 |
user | String | 否 | 消息中携带的用户信息,详细查看 user 参数说明。 |
extra | String | 否 | 扩展信息,可以放置任意的数据内容,也可以去掉此属性。 |
user 属性说明:
名称 | 说明 |
---|---|
id | 发送用户 Id。 |
name | 发送用户需要显示的名称。 |
portrait | 发送用户需要显示的头象。 |
extra | 扩展信息,可以放置任意的数据内容。 |
常见问题
1、通过 Server API 发送文件消息时,需要自行上传文件到应用的文件服务器,生成文件地址后进行发送。
# 小视频消息
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" }
已复制
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 | 是 | 视频大小单位 bytes。 |
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":"" }
已复制
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:InfoNtf | 存储 | 不计数 | 存储 | 不推送 | 无 |
消息结构:
发送小灰条消息时 content 参数的 JSON 结构如下:
{ "message":"请在聊天中注意人身财产安全", "extra":"" }
已复制
2
3
4
属性说明:
名称 | 类型 | 必传 | 说明 |
---|---|---|---|
message | String | 是 | 提示条消息内容。 |
extra | String | 否 | 扩展信息,可以放置任意的数据内容,也可以去掉此属性。 |
# 资料变更通知消息
ObjectName | 存储属性 | 计数属性 | 离线属性 | 推送属性 | 推送内容 |
---|---|---|---|---|---|
RC:ProfileNtf | 存储 | 不计数 | 存储 | 不推送 | 无 |
消息结构:
发送用户资料变更消息时 content 参数的 JSON 结构如下:
{ "operation":"Update", "data":"{\"nickname\":\"韩梅梅\", \"hometown\":\"beijing\"}", "extra":"" }
已复制
2
3
4
5
属性说明:
名称 | 类型 | 必传 | 说明 |
---|---|---|---|
operation | String | 是 | 资料通知操作,可以自行定义。 |
data | String | 是 | 操作的数据。 |
extra | String | 否 | 扩展信息,可以放置任意的数据内容,也可以去掉此属性。 |
# 联系人(好友)通知消息
ObjectName | 存储属性 | 计数属性 | 离线属性 | 推送属性 | 推送内容 |
---|---|---|---|---|---|
RC:ContactNtf | 存储 | 不计数 | 存储 | 不推送 | 无 |
消息结构:
发送加好友消息时 content 参数的 JSON 结构如下:
{ "operation":"Request", "sourceUserId":"123", "targetUserId":"456", "message":"我是小艾,能加一下好友吗?", "extra":"" }
已复制
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:CmdMsg | 不存储 | 不计数 | 存储 | 不推送 | 无 |
消息结构:
运营平台向终端发送指令信息时可使用此命令消息,消息中 content 参数的 JSON 结构如下:
{ "name":"AtPerson", "data":"{\"sourceId\":\"9527\"}" }
已复制
2
3
4
属性说明:
名称 | 类型 | 必传 | 说明 |
---|---|---|---|
name | String | 是 | 命令名称,可以自行定义。 |
data | String | 是 | 命令的内容。 |
# 注意事项
1、发送消息所使用的用户 Id 必须获取过用户 Token ,否则终端未在线发送 Push 时无法正确显示用户信息。
2、发送自定义消息时,需要开发者在 SDK 中注册过该消息,否则 SDK 收到该消息后将无法解析。