消息推送
广播消息
向符合条件的所有设备发送消息。 为了避免消息通知被滥用,接口每天调用限制200次,滥用通知会被封禁请合理使用,单播推送不限制推送量,如确实需要频繁推送请使用单播或批量单播。
请求地址:
https://push.safe.baidu.com/push/api/open/v1/message/broadcast
请求方法:POST
curl -H "Content-Type: application/json" -XPOST
"https://push.safe.baidu.com/push/api/open/v1/message/broadcast?appkey=10001&sign=354e0bbf6a80b07b61bd9637e45b3a32×tamp=1543310683" -d '{"message_type":2,"transmission":{"title":"hello","content":"hello world"}}'
curl -H "Content-Type: application/json" -XPOST
"https://push.safe.baidu.com/push/api/open/v1/message/unicast?appkey=10001&sign=a4196376da5f792394a0510431cb6dd5×tamp=1543314608 " -d '{"push_id":"push_id1", "message_type":2,"transmission":{"title":"hello","content":"hello world"}}'
curl -H "Content-Type: application/json" -XPOST
"https://push.safe.baidu.com/push/api/open/v1/message/multicast?appkey=10001&sign=119dea0ea5812b7625002857f8d69e21×tamp=1543314671 " -d '{"push_id":["push_id1","push_id2"], "message_type":2,"transmission":{"title":"hello","content":"hello world"}}'
请求地址:
https://push.safe.baidu.com/push/api/open/v1/message/cuids
请求方法:POST
curl -H "Content-Type: application/json" -XPOST "https://push.safe.baidu.com/push/api/open/v1/message/multicast?appkey=10001&sign=119dea0ea5812b7625002857f8d69e21×tamp=1543314671 " -d '{"cuids ":["push_cuid1","push_cuid2"], "message_type":2,"transmission":{"title":"hello","content":"hello world"}}'
向指定的多个用户自定义标签发送消息。在发送消息前,应调用客户端接口或服务端接口,给设备绑定相应标签。一个设备可以有多个标签,不同设备可以绑定相同标签。 接口每天调用限制200次,如确实需要频繁推送请使用单播或批量单播。
请求地址: https://push.safe.baidu.com/push/api/open/v1/message/tags
请求方法:POST
curl -H "Content-Type: application/son" -XPOST
"https://push.safe.baidu.com/push/api/open/v1/message/tags?appkey=100
01&sign=119dea0ea5812b7625002857f8d69e21×tamp=1543314671 " -d
'{"tags":["tags_1","tags_2"],
"message_type":2,"transmission":{"title":"hello","content":"hello world"}}'
请求地址:
https://push.safe.baidu.com/push/api/open/v1/message/alias
请求方法:POST
curl -H "Content-Type: application/json" -XPOST "https://push.safe.baidu.com/push/api/open/v1/message/alias?appkey=10001&sign=119dea0ea5812b7625002857f8d69e21×tamp=1543314671 " -d '{"alias ":["push_alias1","push_alias2"], "message_type":2,"transmission":{"title":"hello","content":"hello world"}}'
curl -H "Content-Type: application/json" -XPOST "https://push.safe.baidu.com/push/api/open/v1/message/delete?appkey=10001&sign=0d9e1769d222a5c5a72c8b24755424ca×tamp=1543314764 " -d '{"msg_id":"123456"}'
0- 默认样式
2- 纯图样式
5- 安卓原生
提示:如非特殊场景,请将通知栏样式设置为5:安卓原生,与其他应用的通知样式保持一致 设置为5:安卓原生 时,与各厂商通道样式保持一致 title string 通知栏标题 华为: android.notification.title
小米: title
OPPO: title
vivo: title
荣耀: android.notification.title
魅族: noticeBarInfo.title content 默认样式和安卓原生时必须 string 通知栏内容 华为: android.notification.body
小米 :description
OPPO: content
vivo: content
荣耀: android.notification.body
魅族: noticeBarInfo.content string 自定义图标地址
(自定义图标和安卓原生时,华为厂商通道和自有通道可设置图标) 华为:android.notification.image
荣耀:android.notification.image image 纯图样式时必须 string 纯图样式时图片地址 覆盖icon字段
华为:android.notification.image
荣耀:android.notification.image action json object 点击行为,默认为打开应用
字段说明见 点击行为 notify json object 提醒类型
字段说明见 提醒类型 声音,默认打开
0 - 关闭
1 - 打开 华为: android.notification.default_sound = true
小米:notify_type
VIVO:notifyType
魅族:advanceInfo.notificationType.sound lights 呼吸灯,默认关闭
0 - 关闭
1 - 打开 华为: android.notification.use_default_light = true
小米:notify_type
VIVO:notifyType
魅族:advanceInfo.notificationType.lights vibrate 振动,默认关闭
0 - 关闭
1 - 打开 华为: android.notification.use_default_vibrate = true
VIVO:notifyType
小米:notify_type
魅族:advanceInfo.notificationType.vibrate badge_add_num string 华为、荣耀数字角标 设置应用角标数值,取值范围1-99
设置角标后需在客户端清除角标 华为:android.notification.badge.add_num
荣耀 :android.notification.badge.addNum badge_class string 华为、荣耀角标参数,桌面图标对应的应用入口Activity类例如
“com.test.badge.MainActivity”
设置角标后需在客户端清除角标,class设置错误可能导致通知栏消息不显示 华为:android.notification.badge.class
荣耀 :android.notification.badge.badgeClass sound_raw string 自定义消息通知铃声,在新创建渠道时有效,此处设置的铃声文件必须存放在应用的/res/raw路径下,例如设置为“shake”,对应应用本地的“/res/raw/shake.xxx”文件,支持的文件格式包括mp3、wav、mpeg等,如果不设置使用默认系统铃声
客户端相关修改请参考: 客户端相关修改
华为:android.notification.sound
小米:extra.sound_uri channel_id string (Android 8.0使用)
由于铃声是通知渠道的属性,因此铃声仅在渠道创建时有效,渠道创建后,即使设置自定义铃声也不会播放,而使用创建渠道时设置的铃声。
客户端相关修改请参考: 客户端相关修改
厂商支持:
华为自动创建channel,小米需要手动创建channel ( https://dev.mi.com/console/doc/detail?pId=1163#_11 ) 华为: android.notification.channel_id
小米: extra.channel_id
OPPO: channel_id vivo_classification、classification vivo 厂商通道消息类型 0:运营类消息,1:系统类消息。不填默认为0,具体可参考 https://dev.vivo.com.cn/documentCenter/doc/359
vivo_classification和classification 作用完全相同,classification为历史迭代字段,vivo_classification赋值后会覆盖classification VIVO:classification hw_category string 华为厂商通道消息类型标识,完成华为自分类权益申请后,确定消息提醒方式,具体请参考 https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/message-restriction-description-0000001361648361
华为: android.notification.importance importance string 长连接通道消息提醒级别,默认值 DEFAULT, 支持类型:
MIN、LOW、DEFAULT、HIGH
注:各手机厂商、不同系统版本对消息提醒级别有不同定制,基本含义可参考 https://developer.android.com/guide/topics/ui/notifiers/notifications?hl=zh-cn#importance hw_importance string 华为、荣耀厂商通道消息的提醒级别,无默认值
LOW:表示通知栏消息预期的提醒方式为静默提醒,消息到达手机后,无铃声震动
NORMAL:表示通知栏消息预期的提醒方式为强提醒,消息到达手机后,以铃声、震动提醒用户。终端设备实际消息提醒方式将根据category字段取值或者智能分类结果进行调整。
具体可参考 https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/https-send-api-0000001050986197 和 https://developer.hihonor.com/cn/kitdoc?category=基础服务&kitId=11002&navigation=ref&docId=downlink-message.md&token= 华为: android.notification.importance
小米:extra.channel_id OPPO: channel_id
荣耀: android.notification.importance xm_channel_id string 小米channel_id ,当且仅当需要发送的为小米厂商通道消息时有效,否则仍使用channel_id字段 小米: extra.channel_id hw_channel_id string 华为channel_id ,当且仅当需要发送的为华为厂商通道消息时有效,否则仍使用channel_id字段 华为: android.notification.channel_id oppo_channel_id string Oppo channel_id ,当且仅当需要发送的为Oppo厂商通道消息时有效,否则仍使用channel_id字段 OPPO: channel_id vivo_channel_id string Vivo channel_id ,当且仅当需要发送的为Vivo厂商通道消息时有效,否则仍使用channel_id字段 vivo 暂不支持channel,该字段为预留字段 honor_channel_id string Honor channel_id ,当且仅当需要发送的为Honor厂商通道消息时有效,否则仍使用channel_id字段 荣耀 暂不支持channel,该字段为预留字段 oppo_badge_operation_type string OPPO 厂商通道数字角标操作类型 string 类型 默认为空串,表示不使用OPPO角标功能
"" :不使用OPPO角标功能
"0" :覆盖
"1" :增加 OPPO: badge_operation_type oppo_badge_message_count OPPO 厂商通道设置数字角标数量 操作类型
0 : 清除数字角标(需要设置覆盖操作类型为"0")
1-99 : 显示对应的数字角标,大于99显示 "99+" OPPO: badge_message_count vivo_category string VIVO厂商通道二级分类,传值参见:二级分类标准( https://dev.vivo.com.cn/documentCenter/doc/359#w2-67805227 ) 中category说明
填写vivo_category后,可以不填写classification、vivo_classification 但若填写vivo_classification,请保证category与vivo_classification是正确对应关系
赋值请按照消息分类规则填写,且必须大写,否则无法使用VIVO厂商通道 VIVO: category
iOS消息(与APNs规范接近)
百度云推送的IOS推送 实际上是代理了 Apple APNs 服务,所以参数与 APNs 协议本身基本一致,开发者可参考APNs地址:
string APNs 新通知如果匹配到当前通知中心有相同 apns-collapse-id 字段的通知,则会用新通知内容来更新它,并使其置于通知中心首位。collapse id 长度不可超过 64 bytes。 _no_title string 是否有通知标题"1":无通知标题 p12证书环境需要先在平台上传
p8证书需使用openapi 厂商通道信息更新接口设置
0 : p12 证书的sandbox环境
1 : p12证书 production环境
2:使用p8证书发送正式环境消息
3:使用p8证书发送测试环境消息 _badge_conf string "+1" : 角标+1
"" : 不改变角标
"int" : 直接设置角标 extras json object 这里的自定义字段在根据APNs下发时会自动赋值到payload下.
由于推送系统上报信息需要,故占用几个保留字段,开发者请勿使用以下字段
_trace_id : ""
_msg_id : ""
_msg_type : ""
_env : ""
_badge_conf : ""
body : "" 静默推送下body 会被 alert.body 占用
以下字段会与平台同步:
media_url : 多媒体内容 string
media_type : 多媒体类型 int 0 : 图片 1: 音频 2 : 视频
media_env : 多媒体环境 int 0 : 不限 1 : wifi
iOS-alert消息
apiLevel 28 (Android 9.0)26 (Android 8.0)
27 (Android 8.1)
25 (Android 7.1)
24 (Android 7.0)
23 (Android 6.0)
22 (Android 5.1)
21 (Android 5.0)
20 (Android 4.4W)
19 (Android 4.4)
18 (Android 4.3)
16 (Android 4.1/4.1.1)
17 (Android 4.2/4.2.2)
15 (Android 4.0.3/4.0.4)
14 (Android 4.0/4.0.1/4.0.2)
13 (Android 3.2)
12 (Android 3.1.x)
11 (Android 3.0.x)
10 (Android 2.3.3/2.3.4)
9 (Android 2.3.2/2.3.1/2.3)
8 (Android 2.2.x)
7 (Android 2.1.x)
6 (Android 2.0.1)
5 (Android 2.0)
4 (Android 1.6)
3 (Android 1.5)
2 (Android 1.1)
1 (Android 1.0) string 设备imei号 格式约定:[{"福建":["ANY"]},{"广东":["深圳","广州"]}] ,全选使用ANY标识。全选可以为空 或[{"ANY":["ANY"]}] lastBindTime 字符串格式数字 最近活跃时间,天为单位,不能大于30
固定筛选条件为: or ,只能添加一个值 lastClickTime 字符串格式的数字 最近点击推送时间,天为单位,不能大于30
固定筛选条件为:or,只能添加一个值 对应厂商字段 uint32 消息过期时间(秒)
默认实时消息 华为 :android.ttl
小米 :time_to_live
OPPO :off_line_ttl
VIVO :timeToLive
魅族:pushTimeInfo.validTime
荣耀 :android.ttl speed uint32 推送速度(秒/条)
默认不限制