推送

提示

该功能在开发环境下可免费使用。生产环境下,您需要登录开发者后台,开发者后台中开通 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 中会话类型为 PUSH_SERVICE

示例

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"],
  "audience":{
    "tag":["女","年轻"],
    "tag_or":["北京","上海"],
    "userid":["123","456"],
    "is_to_all":false
  },
  "notification":{
    "alert":"this is a push",
    "ios": {"title": "标题","alert": "override alert","extras": {"id": "1","name": "2"}},
    "android": {"alert": "override alert","extras": {"id": "1","name": "2"}}
  }
}

表单参数

名称 类型 说明
platform String[] 目标操作系统,iOS、Android 最少传递一个。如果需要给两个系统推送消息时,则需要全部填写。(必传)
audience String 推送条件,包括:tag 、userid 、packageName 、 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 时参数无效。(非必传)
packageName String 应用包名,is_to_all 为 true 时,此参数无效。与 tag、tag_or 同时存在时为 And 的关系,向同时满足条件的用户推送。与 userid 条件同时存在时,以 userid 为准进行推送。(非必传)
is_to_all String 是否全部推送,false 表示按 tag 、tag_or 或 userid 条件推送,true 表示向所有用户推送,tag、tag_or 和 userid 条件无效。(必传)
notification String 按操作系统类型推送消息内容,如 platform 中设置了给 iOS 和 Android 系统推送消息,而在 notification 中只设置了 iOS 的推送内容,则 Android 的推送内容为最初 alert 设置的内容。(必传)
alert String notification 下 alert,默认推送消息内容,如填写了 iOS 或 Android 下的 alert 时,则推送内容以对应平台系统的 alert 为准。(必传)
ios String 设置 iOS 平台下的推送及附加信息。
android String 设置 Android 平台下的推送及附加信息。
title String 通知栏显示的推送标题,仅针对 iOS 平台,支持 iOS 8.2 及以上版本,参数在 ios 节点下设置,详细可参考“设置 iOS 推送标题请求示例”。(非必传)
contentAvailable Int 针对 iOS 平台,静默推送是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行,查看详细。1 表示为开启,0 表示为关闭,默认为 0(非必传)
alert String iOS 或 Android 不同平台下的推送消息内容,传入后默认的推送消息内容失效,不能为空。(非必传)
extras String iOS 或 Android 不同平台下的附加信息,如果开发者自己需要,可以自己在 App 端进行解析。(非必传)
badge int 应用角标,仅针对 iOS 平台;不填时,表示不改变角标数;为 0 或负数时,表示 App 角标上的数字清零;否则传相应数字表示把角标数改为指定的数字,最大不超过 9999,参数在 ios 节点下设置,详细可参考“设置 iOS 角标数 HTTP 请求示例”。(非必传)
category String iOS 富文本推送的类型开发者自已定义,自已在 App 端进行解析判断,与 richMediaUri 一起使用。(非必传)
richMediaUri String iOS 富文本推送内容的 URL,与 category 一起使用。(非必传)

返回值

名称 类型 说明
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"],
  "audience":{
    "tag":["女","年轻","北京"],
    "is_to_all":false
  },
  "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"],
  "audience":{
    "userid":["123","456"],
    "is_to_all":false
  },
  "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"],
  "audience":{"packageName": "cn.xxxxxx.xxx"},
  "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"],
  "audience":{"is_to_all":true},
  "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"],
  "audience":{"is_to_all":true},
  "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"],
  "audience":{"is_to_all":true},
  "notification":{
    "alert":"this is a push",
    "ios": {"alert": "iOS 平台显示内容","badge":2,"extras": {"id": "1","name": "2"}},
    "android": {"alert": "Android 平台显示内容","extras": {"id": "1","name": "2"}}
  }
}

设置 iOS 推送标题请求示例:

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"],
  "audience":{"is_to_all":true},
  "notification":{
    "alert":"this is a push",
    "ios": {"title": "iOS 平台显示标题","alert": "iOS 平台显示内容","extras": {"id": "1","name": "2"}},
    "android": {"alert": "Android 平台显示内容","extras": {"id": "1","name": "2"}}
  }
}

设置 iOS 静默推送请求示例:

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"],
  "audience":{"is_to_all":true},
  "notification":{
    "alert":"this is a push",
    "ios": {"title": "iOS 平台显示标题","alert": "iOS 平台显示内容","contentAvailable":1},
    "android": {"alert": "Android 平台显示内容"}
  }
}

设置 iOS 富文本推送请求示例:

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"],
  "audience":{"is_to_all":true},
  "notification":{
    "alert":"this is a push",
    "ios": {"title": "iOS 平台显示标题","alert": "iOS 平台显示内容","category":"image_category","richMediaUri":"http://www.xxx.com/xxx.jpeg"},
    "android": {"alert": "Android 平台显示内容"}
  }
}