跳转至

广播消息

全局广播消息

说明:向 App 中的所有用户发送一条消息,会话类型为 SYSTEM。

提示

该功能开发环境下可免费使用。生产环境下,需要在开发者后台高级功能设置中开通 IM 商用版后,在“广播消息和推送”中,开启后才能使用。

融云服务端的处理能力为每秒钟 2000 次,每秒钟可以向 2000 个目标用户发送消息。

为满足开发者更多的发送要求,广播消息方法进行了升级,建议使用广播推送服务中的广播消息方法进行推送,/message/broadcast 方法仍然可以使用。

方法名:/message/broadcast

调用频率:单个应用每小时只能发送 2 次,每天最多发送 3 次。如需要调整发送频率,可联系销售,电话 13161856839。

签名方法:请参考 通用 API 接口签名规则

URL:http(s)://api-cn.ronghub.com/message/broadcast.[format]

[format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

HTTP 方法:POST

表单参数

名称 类型 说明
fromUserId String 发送人用户 Id。(必传)
objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
content String 发送消息内容,单条消息最大 128k,内置消息以 JSON 方式进行数据序列化,消息中可选择是否携带用户信息,详见融云内置消息结构详解;如果 objectName 为自定义消息类型,该参数可自定义格式,不限于 JSON。(必传)
pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。(可选)
pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,客户端获取远程推送内容时为 appData,同时融云默认携带了消息基本信息,客户端可通过 'rc' 属性获取,查看详细,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
contentAvailable Int 针对 iOS 平台,对 SDK 处于后台暂停状态时为静默推送,是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行,查看详细。1 表示为开启,0 表示为关闭,默认为 0(可选)

返回值

名称 类型 说明
code Int 返回码,200 为正常。

JSON 格式:

{"code":200}

XML 格式:

<xml><code>200</code></xml>

返回值请参考 API 方法返回值说明

提示

objectName 为自定义消息类型时,content 需要自己解析呈现,需要 Push 时 pushContent 必须填写。

示例

Request:

POST /message/broadcast.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Timestamp: 1408710653491
Nonce: 14314
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: Application/x-www-form-urlencoded

content=%7B%22content%22%3A%22hello%22%2C%22extra%22%3A%22helloExtra%22%7D&fromUserId=2191&objectName=RC:TxtMsg&pushContent=thisisapush&pushData=%7B%22pushData%22%3A%22hello%22%7D

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{"code":200}

指定范围广播消息

与全局广播消息的区别是,此接口可以按平台、标签、用户 ID 精确匹配用户范围发送消息内容。

提示

该功能开发环境下可免费使用。生产环境下,需要在开发者后台高级功能设置中开通 IM 商用版后,在“广播消息和推送”中,开启后才能使用。收费详情

融云服务端的处理能力为每秒钟 2000 次,每秒钟可以向 2000 个目标用户发送消息。

方法名:/push

调用频率:推送和广播消息合计每小时只能发送 2 次,每天最多发送 3 次。如需要调整发送频率,可联系销售咨询,电话 13161856839。

签名方法:请参考 通用 API 接口签名规则

URL:http(s)://api-cn.ronghub.com/push.[format]

[format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

HTTP 方法:POST

请注意:发送请求时 HTTP Request Header 中的 Content-Type 类型必须为 application/json,SDK 中会话类型为 SYSTEM

示例

HTTP 请求:

POST /push.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
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"}}
  }
}

表单参数

名称 类型 说明
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 发送消息内容,参考融云 Server API 消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
objectName String 消息类型,参考融云 Server API 消息类型表.消息标志;可自定义消息类型,长度不超过 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 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行,查看详细。1 表示为开启,0 表示为关闭,默认为 0(非必传)
extras String iOS 或 Android 不同平台下的附加信息,如果开发者自己需要,可以自己在 App 端进行解析。(非必传)

通知提示状态说明:

  • 1、App 前台可见时 SDK 处于前台状态,这时发送广播消息时,不提示通知。
  • 2、App 处于后台活跃状态或暂停状态,这时发送广播消息时,提示的通知内容,为您设置的 alert 内容。

提示

设置 objectName 推送其他消息类型,详细请参考融云消息类型表.消息标志

返回值

名称 类型 说明
code int 返回码,200 为正常。
id String 广播消息唯一标识。

JSON 格式:

{
  "code":200,
  "id":"50whSR6kQiHb7YgFwQzXIb"
}

XML 格式:

<xml>
  <code>200</code>
  <id>50whSR6kQiHb7YgFwQzXIb</id>
</xml>

返回值请参考 API 方法返回值说明

向指定标签推送 HTTP 请求示例:

POST /push.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4
Content-Type: application/json

{
  "platform":["ios","android"],
  "fromuserid": "fromuseId1",
  "audience":{
    "tag":["女","年轻","北京"],
    "is_to_all":false},
    "message": {"content": "{\"content\":\"1111\",\"extra\":\"aa\"}",
    "objectName": "RC:TxtMsg"
  },
  "notification":{"alert":"this is a push"}
}

向指定用户推送 HTTP 请求示例:

POST /push.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4
Content-Type: application/json

{
  "platform":["ios","android"],
  "fromuserid": "fromuseId1",
  "audience":{
    "userid":["123","456"],
    "is_to_all":false
  },
  "message": {
    "content": "{\"content\":\"1111\",\"extra\":\"aa\"}",
    "objectName": "RC:TxtMsg"
  },
  "notification":{"alert":"this is a push"}
}

向应用内所有用户推送 HTTP 请求示例:

POST /push.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4
Content-Type: application/json

{
  "platform":["ios","android"],
  "fromuserid": "fromuseId1",
  "audience":{"is_to_all":true},
  "message": {
    "content": "{\"content\":\"1111\",\"extra\":\"aa\"}",
    "objectName": "RC:TxtMsg"
  },
  "notification":{"alert":"this is a push"}
}

iOS、Android 平台显示不同推送内容 HTTP 请求示例:

POST /push.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4
Content-Type: application/json

{
  "platform":["ios","android"],
  "fromuserid": "fromuseId1",
  "audience":{"is_to_all":true},
  "message": {
    "content": "{\"content\":\"1111\",\"extra\":\"aa\"}",
    "objectName": "RC:TxtMsg"
  },
  "notification":{
    "alert":"this is a push",
    "ios": {"alert": "iOS 通知显示内容","extras": {"id": "1","name": "2"}},
    "android": {"alert": "Android 通知显示内容","extras": {"id": "1","name": "2"}}
  }
}

iOS 平台静默推送 HTTP 请求示例:

POST /push.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4
Content-Type: application/json

{
  "platform":["ios","android"],
  "fromuserid": "fromuseId1",
  "audience":{"is_to_all":true},
  "message": {
    "content": "{\"content\":\"1111\",\"extra\":\"aa\"}",
    "objectName": "RC:TxtMsg"
  },
  "notification":{
    "alert":"this is a push",
    "ios": {"alert": "iOS 通知显示内容","contentAvailable":1},
    "android": {"alert": "Android 通知显示内容"}
  }
}