全员推送
描述
全员推送,是指向所有在线用户(包括消息发送用户自己)、离线用户发送特定内容的消息,如文本、图片等。本功能适用于全员活动公告、送礼跨房间飘屏等场景。
- 在线用户:登录 ZIM 并且心跳未超时的用户。
- 离线用户:登录 ZIM 并上报 ZPNsPushId 之后,心跳超时的用户。
客户端将通过 ZIM SDK 的回调接口,接收全员推送的消息,得知消息由哪位用户发出。
接口原型
- 请求方法:POST
- 请求地址:
https://zim-api.zego.im/?Action=SendMessageToAllUsers
- 传输协议:HTTPS
- 调用频率限制:1 次/秒,每 24 小时内仅限 100 次,如需调整,请联系 ZEGO 技术支持。
请求参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 - 公共请求参数。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
FromUserId | String | 是 | 发送方的用户 ID,需为已注册用户 |
MessageType | Number | 是 | 消息类型,全员推送的适用类型请参考 MessageBody 说明。 |
MessageBody | Object | 是 | 消息内容,具体参数格式请参考 MessageBody 说明。 |
SubMsgType | Number | 当 MessageType 为自定义消息时,才需赋值此参数 | 具体的自定义类型。值由您定义,取值范围为 [0,200]。 |
PushType | Number | 否 | 推送类别:
|
说明
- FromUserId 仅支持数字,英文字符和 '!','#','$','%','&','(',')','+','-',':',';','<','=','.','>','?','@','[',']','^','_',' ','{','}','|','~'。
- 如果发送方使用的 SDK 版本(版本说明请参考 发布日志)低于
2.0.0
,ZIM 服务端对应的仅支持MessageType
为2
的 Command 类型消息,不支持其它类型。
为了给开发者带来更好的体验,ZEGO 推荐开发者使用最新版本的 SDK。 - 消息接收方的 SDK 版本必须为 2.10.0 或以上,才能接受全员推送消息。
请求示例
- 请求地址 URL:
Untitled
https://zim-api.zego.im/?Action=SendMessageToAllUsers
&<公共请求参数>
1
- 请求消息体:
Untitled
{
"FromUserId": "u1",
"MessageType": 1,
"MessageBody": {
"Message":"hello world",
"ExtendedData":"s"
},
"SubMsgType": 0,
"PushType": 0
}
1
响应参数
参数 | 类型 | 描述 |
---|---|---|
Code | Number | 返回码。
说明 当您发起请求同时向多个用户发送消息时:
|
Message | String | 请求结果的说明信息。 |
RequestId | String | 请求 ID。 |
响应示例
Untitled
{
"Code": 0,
"Message": "success",
"RequestId": "343649807833778782"
}
1
返回码
以下仅列出了接口业务逻辑相关的返回码,完整返回码请参考 全局返回码。
返回码 | 说明 | 处理建议 |
---|---|---|
660000002 | 输入参数错误。 | 请检查输入的参数。 |
660400001 | 输入的消息大小超出限制。 | 请检查输入的消息大小。 |
660500002 | 消息发送者未登录 SDK。 | 请登录 ZIM SDK 后再发送消息。 |
660500003 | 调用 SendMessageToAllUsers 接口的频率超出限制。 | 请稍后再试。 |