发送通知栏push
功能说明:通过该接口发送push。
请求url:https://cosmos-push-api.immomo.com/push/open/push/notify
body参数:json格式
字段 | 备注 | 必传 | 类型 | 默认值 |
---|---|---|---|---|
packageName | android的packageName | 是 | string | 无 |
title | 推送标题 | 是 | string | 无 |
content | 推送内容 | 是 | string | 无 |
targets | 别名/token,一次最多100个,例:[{"target":"T-ab3ae1e11a12771a-9831-0"}] | 是 | object | 无 |
pushType | 别名方式:ALIAS,token方式:TOKEN | 是 | string | 无 |
source | 业务id 规则:[a-zA-Z0-9_]{1,20},数据统计所需,后台发送任务固定为1 | 是 | string | default |
actionType | OPEN_APP/OPEN_URL/CUSTOMIZE, 分别为"打开应用/打开url/跳转指定页面" | 是 | string | 无 |
action | actionType:OPEN_URL/CUSTOMIZE时有效,OPEN_URL时传需要打开的url,如:https://targeturl(必须为https) ,CUSTOMIZE时,填activity的名字,此activity客户端必须设置为expore=true | 否 | string | 无 |
actionParams | actionType:CUSTOMIZE时有效,例:{"param1":"value1","param2":"value2"},android和ios通用 | 否 | string(map的json序列化字符串,不是object) | 无 |
picture | 图片,必须为https地址 | 否 | string | 无 |
notifyId | 通知id,相同id在客户端覆盖展示 | 否 | int | 无 |
offLine | 是否离线,例:是true,否false | 否 | boolean | true |
offLineTtl | 离线时间,单位s | 否 | int | 600 |
vendorExtra | 厂商的扩展字段 | 否 | object | 无 |
dmData | 数据统计扩展字段 | 否 | object | 无 |
targets
字段 | 备注 | 必传 | 类型 | 默认值 |
---|---|---|---|---|
targets[i].target | 别名或者token | 是 | string | 无 |
targets[i].badge | 角标,针对不同用户设置不同角标,可以使用此参数 | 否 | int | 无 |
targets[i].title | push标题,针对不同用户发不同文案场景,可以使用此参数 | 否 | string | 无 |
targets[i].content | push标题,针对不同用户发不同文案场景,可以使用此参数 | 否 | string | 无 |
vendorExtra说明
字段 | 备注 | 必传 | 类型 | 默认值 |
---|---|---|---|---|
vendorExtra.xiaomi | 小米厂商的扩展字段 | 否 | object | 无 |
vendorExtra.xiaomi.channel_id | 小米厂商的channelId,可以控制聊天等重要消息不被限量 小米官方文档说明 | 否 | string | 无 |
vendorExtra.xiaomi.priority | 小米通道的priority,取值范围:0-100 | 否 | string | 无 |
vendorExtra.huawei | 华为厂商的扩展字段 | 否 | object | 无 |
vendorExtra.huawei.importance | 华为消息自分类功能,与category字段搭配使用官方文档 值:"NORMAL"、"LOW" | 否 | string | 无 |
vendorExtra.huawei.huaweiTitle | 单独对华为厂商指定push标题 | 否 | string | 无 |
vendorExtra.huawei.huaweiContent | 单独对华为厂商指定push内容 | 否 | string | 无 |
vendorExtra.huawei.category | 单独对华为厂商指定push自分类,可以控制聊天等重要消息不被限量,需到厂商后台进行申请,参考importance字段后面的官方文档 | 否 | string | 无 |
vendorExtra.huawei.apiVersion | 华为api版本,5:表示使用5.x版本api,其他值表示2.x版本api | 否 | string | 2021-07-20之前注册的app,默认值为空,之后的注册的默认值为5 |
vendorExtra.huawei.campaign_id | 华为付费pushcampaign_id | 否 | string | 无 |
vendorExtra.huawei.channel_id | 华为渠道的channel_id,如果为空则自动取外层的channelId字段 | 否 | string | 无 |
vendorExtra.oppo | oppo厂商扩展字段 | 否 | object | 无 |
vendorExtra.oppo.channel_id | oppo渠道的channel_id,可以控制聊天等重要消息不被限量,如果此值为空,则默认会取外层的channelId字段oppo官方文档说明 | 否 | string | 无 |
vendorExtra.oppo.click_action_type | oppo渠道的click_action_type,99%的情况下不需要关注,遇到明确问题,询问开发之后再传此值 | 否 | string | 无 |
vendorExtra.oppo.click_action_activity | oppo渠道的click_action_activity,99%的情况下不需要关注,遇到明确问题,询问开发之后再传此值 | 否 | string | 无 |
vendorExtra.vivo | vivo厂商扩展字段 | 否 | object | 无 |
vendorExtra.vivo.category | 单独对vivo厂商指定push自分类,可以控制聊天等重要消息不被限量 vivo官方文档说明 | 否 | string | 无 |
dmData
字段 | 备注 | 必传 | 类型 | 默认值 |
---|---|---|---|---|
dmData._data | 透传字段,格式:map的json序列化 | 否 | string | 无 |
android必看
字段 | 备注 | 必传 | 类型 | 默认值 |
---|---|---|---|---|
packageName | android的packageName | 是 | string | 无 |
channelId | 客户端设置的channelId | target >= 26时必须,值由客户端定义 | string | 无 |
intentAction | 谷歌推送生效,一般用于海外app,与action作用相同 | 否 | string | 无 |
hwBadgeAddNum | 华为手机生效,设置应用角标数值,取值范围1-99。官方文档 | 否 | int | 0 |
hwBadgeClass | 华为手机生效,桌面图标对应的应用入口Activity类例如“com.test.badge.MainActivity” 官方文档 | 否 | string | 无 |
bigPic | 大图url(目前仅小米厂商支持) | 否 | string | 无 |
popNotify | 浮动通知,target < 26时有效,26之后全部由channelId控制 | 否 | boolean | true |
soundSwitch | 是否开启声音,target < 26时有效,26之后全部由channelId控制 | 否 | boolean | true |
sound | 声音文件,target < 26时有效,26之后全部由channelId控制 | 否 | string | 无 |
vibration | 震动,target < 26时有效,26之后全部由channelId控制 | 否 | boolean | true |
showOnlyBackstage | 是否仅后台运行时才展示push,自通道+小米支持,true表示只有app在后台时才展示push,false表示前台后台都展示, | 否 | boolean | false |
messageSort | vivo厂商有效,区分消息类型,1:系统消息 0:运营消息 参考 如果系统消息被限流,自动降级为运营消息 | 否 | int | 0 |
ios必看
字段 | 备注 | 必传 | 类型 | 默认值 |
---|---|---|---|---|
badge | 角标数字 | 否 | int | 0 |
iphoneSound | iphone的声音,不传此字段无声音。传"default"为系统默认声音,自定义声音需要传项目中加载的声音文件名。 | 否 | string | 无 |
iosTextStyle | 0或不设置:默认样式(标题加粗)1:标题不加粗 2:不展示标题,只展示内容 | 否 | int | 0 |
apnsMutableContent | 系统将在传递之前将通知传递给您的Notification Service应用程序扩展,使用您的扩展程序来修改通知的内容。1为生效 0或不传该字段为无效,>=ios10开始支持 | 否 | string | 无 |
body数据示例:
{
"packageName": "com.immomo.push.demo",
"targets": [
{
"target": "1234567890",
"title":"可以针对用户单独指定title"
},
{
"target": "0987654321"
"badge":1
}
],
"pushType": "ALIAS",
"actionType": "OPEN_APP",
"title": "title",
"content": "content",
"source": "1",
"channelId": "notification.default",
"actionParams": "{\"key2\":\"value2\"}",
"popNotify": true,
"offLine": true,
"offLineTtl":3600,
"vendorExtra":{
"xiaomi":{
"channel_id":"xxxxx"
}
}
}
body数据说明:接入方只需按业务需要设置字段,不用关心目标设备类型,pushsdk会区分目标的设备类型下发push。
返回值:
建议把data中的内容打印日志,如果未收到push,可以用此id查询push链路数据
{
"ec": 0,
"em": "success",
"data": {
"1234567890": "bfcbd51b0dc64e49ba9c51f9df03a85a_2498",
"0987654321": "basdd51b10dc4e49ba9c51f9df03a85a_2498"
}
}