MessageBody 说明
ZIM 服务端支持开发者通过服务端 API 向会话发送不同类型的消息,支持类型如下表所示:
消息类型 | MessageType 值 | 适用会话类型 | 是否支持全员推送 |
---|---|---|---|
文本消息 | 1 |
| ✔️ |
信令消息 | 2 | ✖ | |
图片消息 | 11 | ✔️ | |
文件消息 | 12 | ✔️ | |
音频消息 | 13 | ✔️ | |
视频消息 | 14 | ✔️ | |
自定义消息 | 200 | ✔️ | |
弹幕消息 | 20 | 房间 | ✖ |
开发者在调用 ZIM 服务端接口发送消息时,需要通过参数 MessageBody 传入消息内容。MessageBody 的格式消息类型而不同,本文将介绍各类型消息的对应参数。
文本消息、自定义消息和弹幕消息
MessageBody 结构
文本消息、自定义消息和弹幕消息的 MessageBody 结构相同,说明如下:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Message | String | 是 | 消息内容,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。 |
ExtendedData | String | 否 | 扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。 |
OfflinePush | Object | 否 | 离线推送配置,详情请参考 OfflinePush 说明。 |
HasReceipt | Number | 否 | 消息是否附带回执:
注意 弹幕消息不支持附带回执。 |
OfflinePush 说明(房间消息不支持此字段)
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Enable | Number | 否 | 是否推送:
|
Title | String | 否 | 离线推送展示的标题。 |
Content | String | 否 | 离线推送展示的内容。 |
Payload | String | 否 | 扩展字段,开发者可以自定义收到离线推送消息后的行为。 |
PushStrategyId | String | 否 | 自定义推送策略,配置方式请参考 resourcesID 说明。 |
PushImageInfo | Object | 否 | 图片推送信息。 注意 此字段仅适用于 全员推送 接口。 |
└Apns | Object | 否 | 苹果推送额外信息。 |
└Image | String | 否 | 该字段用于标识 APNs 携带的图片地址,当客户端拿到该字段时,可以通过下载图片资源的方式将图片展示在弹窗上。 |
└Android | Object | 否 | 安卓推送额外信息。 |
└HuaWei | Object | 否 | 华为推送通道相关配置。 |
└Image | String | 否 | 图片文件须小于 512 KB,规格建议为 40dp x 40dp,弧角大小为 8dp。超出建议规格的图片会存在图片压缩或图片显示不全的情况。图片格式建议使用JPG/JPEG/PNG。必须是https协议的链接。 |
└Icon | String | 否 | 图标文件必须存放在应用的 /res/raw 路径下。例如,“icon” 的值为“res/raw/ic_launcher”,标识您应用本地的小图标路径为“/res/raw/ic_launcher.jpg”。 |
└FCM | Object | 否 | 谷歌推送通道相关配置。 |
└Image | String | 否 | 图片地址,大小限制 1M 以内。 |
└Icon | String | 否 | 图标地址。 |
MessageBody 示例
Untitled
{
"MessageBody": {
"Message":"hello world",
"ExtendedData":"extendedData",
"OfflinePush" :{
"Enable":0,
"Title":"Title",
"Content":"Content",
"Payload":"data"
},
"HasReceipt": 1
}
}
1
信令消息
MessageBody 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Message | String | 是 | 信令消息内容,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。 注意 若消息为经 base64 编码后的内容,则此处的长度限制指的是在 base64 编码前的原消息长度。 |
ExtendedData | String | 否 | 扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。 |
IsBase64 | Number | 否 | 是否为 base64 编码后的消息。
|
MessageBody 示例
Untitled
{
"MessageBody": {
"Message":"hello world",
"ExtendedData":"extendedData",
"IsBase64":0
}
}
1
图片消息
MessageBody 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Message | String | 是 | 图片消息内容,为按照图片消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。 |
ExtendedData | String | 否 | 扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。 |
OfflinePush | Object | 否 | 离线推送配置,详情请参考 OfflinePush 说明。 |
HasReceipt | Number | 否 | 消息是否附带回执:
|
Message 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Uid | String | 是 | 图片的唯一 ID。由开发者自行生成。 |
Origin | Object | 是 | 原图。 |
└Url | String | 是 | 图片的 URL 地址,长度上限为 500 字节。 |
└Width | Number | 是 | 图片宽度,单位为像素(px)。 |
└Height | Number | 是 | 图片高度,单位为像素(px)。 |
FileName | String | 是 | 文件名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。 |
Size | Number | 否 | 图片数据大小,单位为字节。 |
Message 示例
Untitled
{
"Uid":"343649807833778782",
"Origin": {
"Url":"https:xxx",
"Width":100,
"Height":200
},
"FileName":"FileName.jpg",
"Size":1024
}
1
MessageBody 示例
Untitled
{
"MessageBody": {
"Message":"", // 图片消息内容,为按图片消息的 Message 结构生成的 JSON 字节串
"ExtendedData":"extendedData",
"OfflinePush" :{
"Enable":0,
"Title":"Title",
"Content":"Content",
"Payload":"data"
},
"HasReceipt": 1
}
}
1
文件消息
MessageBody 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Message | String | 是 | 文件消息内容,为按照文件消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。 |
ExtendedData | String | 否 | 扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。 |
OfflinePush | Object | 否 | 离线推送配置,详情请参考 OfflinePush 说明。 |
HasReceipt | Number | 否 | 消息是否附带回执:
|
Message 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Uid | String | 是 | 文件的唯一 ID。由开发者自行生成。 |
Url | String | 是 | 文件的 URL 地址,长度上限为 500 字节。 |
FileName | String | 是 | 文件名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。 |
Size | Number | 否 | 文件数据大小,单位为字节。 |
Message 示例
Untitled
{
"Uid":"343649807833778782",
"Url":"https:xxx",
"FileName":"FileName.txt",
"Size":1024
}
1
MessageBody 示例
Untitled
{
"MessageBody": {
"Message":"", // 文件消息内容,为按文件消息的 Message 结构生成的 JSON 字节串
"ExtendedData":"extendedData",
"OfflinePush" :{
"Enable":0,
"Title":"Title",
"Content":"Content",
"Payload":"data"
},
"HasReceipt": 1
}
}
1
音频消息
MessageBody 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Message | String | 是 | 视频消息内容,为按照音频消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。 |
ExtendedData | String | 否 | 扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。 |
OfflinePush | Object | 否 | 离线推送配置,详情请参考 OfflinePush 说明。 |
HasReceipt | Number | 否 | 消息是否附带回执:
|
Message 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Uid | String | 是 | 音频的唯一 ID。由开发者自行生成。 |
Url | String | 是 | 音频的 URL 地址,长度上限为 500 字节。 |
FileName | String | 是 | 音频名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。 |
Size | Number | 否 | 音频数据大小,单位为字节。 |
MediaDuration | Number | 否 | 音频时长,单位为秒。 |
Message 示例
Untitled
{
"Uid":"343649807833778782",
"Url":"https:xxx",
"FileName":"FileName.mp3",
"Size":1024,
"MediaDuration":30
}
1
MessageBody 示例
Untitled
{
"MessageBody": {
"Message":"", // 音频消息内容,为按音频消息的 Message 结构生成的 JSON 字节串
"ExtendedData":"extendedData",
"OfflinePush" :{
"Enable":0,
"Title":"Title",
"Content":"Content",
"Payload":"data"
},
"HasReceipt": 1
}
}
1
视频消息
MessageBody 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Message | String | 是 | 视频消息内容,为按照视频消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。 |
ExtendedData | String | 否 | 扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。 |
OfflinePush | Object | 否 | 离线推送配置,详情请参考 OfflinePush 说明。 |
HasReceipt | Number | 否 | 消息是否附带回执:
|
Message 结构
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Uid | String | 是 | 文件的唯一 ID。由开发者自行生成。 |
Url | String | 是 | 视频的 URL 地址,长度上限为 500 字节。 |
FileName | String | 是 | 视频名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。 |
Size | Number | 否 | 视频数据大小,单位为字节。 |
MediaDuration | Number | 否 | 视频时长,单位为秒。 |
Thumbnail | Object | 否 | 视频首帧。 |
└Url | String | 是(仅当需要视频首帧时) | 缩略图的 URL 地址,长度上限为 500 字节。 |
└Width | Number | 是(仅当需要视频首帧时) | 图片宽度,单位为像素(px)。 |
└Height | Number | 是(仅当需要视频首帧时) | 图片高度,单位为像素(px)。 |
Message 示例
Untitled
{
"Uid":"343649807833778782",
"Url":"https:xxx",
"FileName":"FileName.mp4",
"Size":1024,
"MediaDuration":300,
"Thumbnail": {
"Url":"https:xxx",
"Width":100,
"Height":200
}
}
1
MessageBody 示例
Untitled
{
"MessageBody": {
"Message":"", // 视频消息内容,为按音频消息的 Message 结构生成的 JSON 字节串
"ExtendedData":"extendedData",
"OfflinePush" :{
"Enable":0,
"Title":"Title",
"Content":"Content",
"Payload":"data"
},
"HasReceipt": 1
}
}
1