即时通讯
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • 小程序
  • Flutter
  • Unity3D
  • uni-app
  • React Native
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 实现基本消息收发
  • 用户相关
  • 房间相关
  • 群组相关
  • 消息相关
  • 呼叫邀请
  • 会话管理
  • 缓存管理
  • 离线推送
  • 语音组件
  • 客户端 API
  • 服务端 API
  • 迁移方案
  • SDK 错误码
  • 常见问题
  • 文档中心
  • 即时通讯
  • 服务端 API
  • 消息相关
  • 全员推送

全员推送

更新时间:2024-04-15 14:24

描述

全员推送,是指向所有在线用户(包括消息发送用户自己)、离线用户发送特定内容的消息,如文本、图片等。本功能适用于全员活动公告、送礼跨房间飘屏等场景。

  • 在线用户:登录 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
推送类别:
  • 0:对在线用户进行在线推送。
  • 1:对在线用户进行在线推送,对离线用户进行离线推送。
  • 2:对所有上报了 ZPNsPushId 的用户进行离线推送。
  • FromUserId 仅支持数字,英文字符和 '!','#','$','%','&','(',')','+','-',':',';','<','=','.','>','?','@','[',']','^','_',' ','{','}','|','~'。
  • 如果发送方使用的 SDK 版本(版本说明请参考 发布日志)低于 2.0.0,ZIM 服务端对应的仅支持 MessageType2 的 Command 类型消息,不支持其它类型。
    为了给开发者带来更好的体验,ZEGO 推荐开发者使用最新版本的 SDK。
  • 消息接收方的 SDK 版本必须为 2.10.0 或以上,才能接受全员推送消息。

请求示例

  • 请求地址 URL:

    https://zim-api.zego.im/?Action=SendMessageToAllUsers
    &<公共请求参数>
  • 请求消息体:

    {
        "FromUserId": "u1",
        "MessageType": 1,
        "MessageBody": {
            "Message":"hello world",
            "ExtendedData":"s"
        },
        "SubMsgType": 0,
        "PushType": 0
    }

响应参数

参数 类型 描述
Code
Number
返回码。

当您发起请求同时向多个用户发送消息时:
  • 如果只需成功向 1 个或以上的用户发送消息,Code 都会返回 0,表示成功。此时请参考 ErrorList 中的具体信息,确认操作结果,了解是否向部分用户发送消息失败。
  • 如果向所有用户发送消息都失败,Code 会返回相关返回码,具体请参考 全局返回码
Message
String
请求结果的说明信息。
RequestId
String
请求 ID。

响应示例

{
    "Code": 0,
    "Message": "success",
    "RequestId": "343649807833778782"
}

返回码

以下仅列出了接口业务逻辑相关的返回码,完整返回码请参考 全局返回码

返回码 说明 处理建议
660000002
输入参数错误。
请检查输入的参数。
660400001
输入的消息大小超出限制。
请检查输入的消息大小。
660500002
消息发送者未登录 SDK。
请登录 ZIM SDK 后再发送消息。
660500003
调用 SendMessageToAllUsers 接口的频率超出限制。
请稍后再试。
本篇目录