广播消息

提示

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

方法名:/push

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

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

URL:https://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 最少传递一个。如果需要给两个系统推送消息时,则需要全部填写。(必传)
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 通知显示内容"}
  }
}