文档中心
IM 即时通讯
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 即时通讯
  • 服务端 API
  • 消息相关
  • MessageBody 说明

MessageBody 说明

更新时间:2024-10-24 16:10

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
否
消息是否附带回执:
  • 0:不是。
  • 1:是。

弹幕消息不支持附带回执。

OfflinePush 说明(房间消息不支持此字段)

参数 类型 是否必选 描述
Enable
Number
否
是否推送:
  • 0:(默认)否。
  • 1:是。
Title
String
否
离线推送展示的标题。
Content
String
否
离线推送展示的内容。
Payload
String
否
扩展字段,开发者可以自定义收到离线推送消息后的行为。
PushStrategyId
String
否
自定义推送策略,配置方式请参考 resourcesID 说明。

  • 此字段仅适用于 发送单聊消息、发送群聊消息 和 全员推送 接口。
  • 如需实现向国内 Android 厂商无限制推送,此参数为 必填,且请先参考如下文档,开通各厂商的私信通道:
    • 小米推送集成指南 - 使用私信通道无限制推送
    • 华为推送集成指南 - 基于消息分类实现无限制推送
    • OPPO 推送集成指南 - 使用私信通道不限量推送
    • vivo 推送集成指南 - 基于系统消息配置不限量推送
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 示例

{
    "MessageBody": {
        "Message":"hello world",
        "ExtendedData":"extendedData",
        "OfflinePush" :{
            "Enable":0, 
            "Title":"Title",
            "Content":"Content", 
            "Payload":"data"
        },
        "HasReceipt": 1
    }
}

信令消息

MessageBody 结构

参数 类型 是否必选 描述
Message
String
是
信令消息内容,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。

若消息为经 base64 编码后的内容,则此处的长度限制指的是在 base64 编码前的原消息长度。

ExtendedData
String
否
扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。
IsBase64
Number
否
是否为 base64 编码后的消息。
  • 0:否(默认)。
  • 1:是。ZIM 服务端收到此消息后,会进行 base64 解码,获取实际消息内容,再发送给 ZIM SDK。

MessageBody 示例

{
    "MessageBody": {
        "Message":"hello world",
        "ExtendedData":"extendedData",
        "IsBase64":0
    }
}

图片消息

MessageBody 结构

参数 类型 是否必选 描述
Message
String
是
图片消息内容,为按照图片消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。
ExtendedData
String
否
扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。
OfflinePush
Object
否
离线推送配置,详情请参考 OfflinePush 说明。
HasReceipt
Number
否
消息是否附带回执:
  • 0:不是。
  • 1:是。

Message 结构

参数 类型 是否必选 描述
Uid
String
是
图片的唯一 ID。由开发者自行生成。
Origin
Object
是
原图。
Url
String
是
图片的 URL 地址,长度上限为 500 字节。
Width
Number
是
图片宽度,单位为像素(px)。
Height
Number
是
图片高度,单位为像素(px)。
FileName
String
是
文件名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。
Size
Number
否
图片数据大小,单位为字节。

Message 示例

{
    "Uid":"343649807833778782", 
    "Origin": {
        "Url":"https:xxx", 
        "Width":100,
        "Height":200
    },
    "FileName":"FileName.jpg", 
    "Size":1024
}

MessageBody 示例

{
    "MessageBody": {
        "Message":"", // 图片消息内容,为按图片消息的 Message 结构生成的 JSON 字节串
        "ExtendedData":"extendedData",
        "OfflinePush" :{
            "Enable":0, 
            "Title":"Title",
            "Content":"Content", 
            "Payload":"data"
        },
        "HasReceipt": 1
    }
}

文件消息

MessageBody 结构

参数 类型 是否必选 描述
Message
String
是
文件消息内容,为按照文件消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。
ExtendedData
String
否
扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。
OfflinePush
Object
否
离线推送配置,详情请参考 OfflinePush 说明。
HasReceipt
Number
否
消息是否附带回执:
  • 0:不是。
  • 1:是。

Message 结构

参数 类型 是否必选 描述
Uid
String
是
文件的唯一 ID。由开发者自行生成。
Url
String
是
文件的 URL 地址,长度上限为 500 字节。
FileName
String
是
文件名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。
Size
Number
否
文件数据大小,单位为字节。

Message 示例

{
      "Uid":"343649807833778782", 
      "Url":"https:xxx", 
      "FileName":"FileName.txt", 
      "Size":1024
}

MessageBody 示例

{
    "MessageBody": {
        "Message":"", // 文件消息内容,为按文件消息的 Message 结构生成的 JSON 字节串
        "ExtendedData":"extendedData",
        "OfflinePush" :{
            "Enable":0, 
            "Title":"Title",
            "Content":"Content", 
            "Payload":"data"
        },
        "HasReceipt": 1
    }
}

音频消息

MessageBody 结构

参数 类型 是否必选 描述
Message
String
是
视频消息内容,为按照音频消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。
ExtendedData
String
否
扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。
OfflinePush
Object
否
离线推送配置,详情请参考 OfflinePush 说明。
HasReceipt
Number
否
消息是否附带回执:
  • 0:不是。
  • 1:是。

Message 结构

参数 类型 是否必选 描述
Uid
String
是
音频的唯一 ID。由开发者自行生成。
Url
String
是
音频的 URL 地址,长度上限为 500 字节。
FileName
String
是
音频名称,格式建议为 “xxx.文件扩展名”,长度上限为 150 字节。
Size
Number
否
音频数据大小,单位为字节。
MediaDuration
Number
否
音频时长,单位为秒。

Message 示例

{
    "Uid":"343649807833778782", 
    "Url":"https:xxx", 
    "FileName":"FileName.mp3", 
    "Size":1024,
    "MediaDuration":30
}

MessageBody 示例

{
    "MessageBody": {
        "Message":"", // 音频消息内容,为按音频消息的 Message 结构生成的 JSON 字节串
        "ExtendedData":"extendedData",
        "OfflinePush" :{
            "Enable":0, 
            "Title":"Title",
            "Content":"Content", 
            "Payload":"data"
        },
        "HasReceipt": 1
    }
}

视频消息

MessageBody 结构

参数 类型 是否必选 描述
Message
String
是
视频消息内容,为按照视频消息的 Message 结构 生成的 JSON 字节串,默认为 2 KB。如有需要,请联系 ZEGO 技术支持配置,最大可达 32 KB。
ExtendedData
String
否
扩展字段,长度上限为 1 KB,如需上调,请联系 ZEGO 技术支持。
OfflinePush
Object
否
离线推送配置,详情请参考 OfflinePush 说明。
HasReceipt
Number
否
消息是否附带回执:
  • 0:不是。
  • 1:是。

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 示例

{
    "Uid":"343649807833778782", 
    "Url":"https:xxx", 
    "FileName":"FileName.mp4", 
    "Size":1024,
    "MediaDuration":300,
    "Thumbnail": {
        "Url":"https:xxx", 
        "Width":100,
        "Height":200
    }
}

MessageBody 示例

{
    "MessageBody": {
        "Message":"", // 视频消息内容,为按音频消息的 Message 结构生成的 JSON 字节串
        "ExtendedData":"extendedData",
        "OfflinePush" :{
            "Enable":0, 
            "Title":"Title",
            "Content":"Content", 
            "Payload":"data"
        },
        "HasReceipt": 1
    }
}
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈