本文档主要介绍个推开放平台公共请求参数和公共返回参数
以下参数是调用每个接口都需要使用的参数
名称 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
token | String | 是 | 无 | 接口访问凭据,获取方式请参考获取鉴权token |
以下参数格式为每个接口返回的数据的通用格式。
名称 | 类型 | 描述 |
---|---|---|
code | Number | 成功或失败code码,详细含义见业务返回码说明 |
msg | String | 失败时返回此说明 |
data | Json | 详见接口说明 |
推送消息体示例(具体含义请见推送API):
{
"request_id":"请填写10到32位的id",
"audience":"all",
"settings":{
"ttl":7200000,
"strategy":{
"default":1,
"ios":4,
"st":4
}
},
"push_message":{
"notification":{
"title":"请填写标题",
"body":"请填写内容",
"click_type":"url",
"url":"https://www.json.cn/"
}
},
"push_channel":{
"android":{
"ups":{
"notification":{
"title":"请填写android标题",
"body":"请填写android内容",
"click_type":"url",
"url":"https://xxx"
},
"options": {
"XM": {
"/extra.channel_id": "填写小米平台申请的渠道id" //新小米消息分类下,私信公信id都必须要传,否则请求小米接口会被拦截。
}
}
}
},
"ios":{
"type":"notify",
"payload":"自定义消息",
"aps":{
"alert":{
"title":"请填写ios标题",
"body":"请填写ios内容"
},
"content-available":0
},
"auto_badge":"+1"
},
"harmony":{
"notification":{
"title":"请填写harmony标题",
"body":"请填写harmony内容",
"category":"鸿蒙华为通知消息类别",
"click_type":"startapp"
}
}
}
}
推送目标用户,表示一条推送将要被推送到哪些用户列表。设置目标用户的方式:cid、别名(alias),tag等等。
注意:audience
的参数选择根据请求url决定,与请求url不匹配时会报错,比如:选择接口为/push/single/cid,但audience选择alias,此时推送失败;
参数 | 类型 | 描述 |
---|---|---|
cid | String Array | 根据cid选择推送目标用户时使用 |
alias | String Array | 根据别名选择推送目标用户时使用,绑定别名请参考接口 |
fast_custom_tag | String | 为用户自定义标签,根据fast_custom_tag 选择推送用户时使用,绑定标签请参考接口 |
tag | Json Array | tag 指群推接口的用户筛选条件(包含多种类型条件:phone_type 手机类型; region 省市; custom_tag 用户标签),详细格式见接口中参数说明 |
all | String | 选择推送应用的所有用户 |
示例(非all
示例,以下参数只能选择一个):
{
"audience":{
"cid":[""],
"alias":[""],
"fast_custom_tag":"",
"tag":[{
"key":"phone_type",
"values":[
"android"
],
"opt_type":"and"
}]
}
}
示例(all
,推送所有用户):
{
"audience": "all"
}
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
ttl | Number | 否 | 2小时 | 消息离线时间设置,单位毫秒,-1表示不设离线,-1 ~ 3 * 24 * 3600 * 1000(3天)之间 |
strategy | Json | 否 | {"default":1} |
厂商通道策略,详细内容见strategy |
speed | Number | 否 | 0 | 定速推送,例如100,个推控制下发速度在100条/秒左右,0表示不限速 |
schedule_time | Number | 否 | 无 | 定时推送时间,必须是7天内的时间,格式:毫秒时间戳,此功能需要开通VIP,如需开通请点击右侧“技术咨询”了解详情 |
custom_callback | String | 否 | 无 | 自定义回执字段,传入此参数可在回执回调时附加传入的内容,用于自定义的消息标识,此功能需要开通VIP,如需开通请点击右侧“技术咨询”了解详情 |
filter_notify_off | Boolean | 否 | false | 是否过滤通知关闭通知用户,false表示不过滤,true表示过滤 |
active_days | Number | 否 | 7天 | 厂商智能配额策略-用户连续活跃天数,单位天,限制3 ~ 15天之间 |
need_backup | Boolean | 否 | false | 厂商智能配额策略-是否需要兜底(离线消息到期后一定时间内通过厂商通道下发),false表示不需要,true表示需要 |
示例:
{
"settings": {
"ttl": 86400000,
"strategy": {
"default": 1,
"ios": 2,
"vv": 6
},
"speed": 100,
"schedule_time": 1591794372930,
"custom_callback": "msg-as-you-like-2022112801057743",
"filter_notify_off": true,
"active_days": 7,
"need_backup": true
}
}
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
default | Number | 否 | 1 | 默认所有通道的策略选择1-4 1: 表示该消息在用户在线时推送个推通道,用户离线时推送厂商通道; 2: 表示该消息只通过厂商通道策略下发,不考虑用户是否在线; 3: 表示该消息只通过个推通道下发,不考虑用户是否在线; 4: 表示该消息优先从厂商通道下发,若消息内容在厂商通道代发失败后会从个推通道下发。 |
ios | Number | 否 | 无 | ios 通道策略1-4,表示含义同上,要推送ios通道,需要在个推开发者中心上传ios证书,建议填写2或4,否则可能会有消息不展示的问题 |
hw | Number | 否 | 无 | 华为 通道策略1-4,表示含义同上 |
ho | Number | 否 | 无 | 荣耀 通道策略1-4,表示含义同上 |
xm | Number | 否 | 无 | 小米 通道策略1-4和6,表示含义同上 6: 表示该消息选用厂商智能配额策略,用户在线时推送个推通道,用户离线时常活跃用户推送个推通道,低活跃用户推送厂商通道。 |
xmg | Number | 否 | 无 | 小米海外 通道策略1-4,表示含义同上 |
vv | Number | 否 | 无 | vivo 通道策略1-4和6,表示含义同上 |
op | Number | 否 | 无 | oppo 通道策略1-4和6,表示含义同上 |
opg | Number | 否 | 无 | oppo海外 通道策略1-4,表示含义同上 |
mz | Number | 否 | 无 | 魅族 通道策略1-4和6,表示含义同上 |
hoshw | Number | 否 | 无 | 鸿蒙华为 通道策略1-4,表示含义同上 |
st | Number | 否 | 无 | 锤子/坚果 通道策略1-4,表示含义同上,需要开通ups厂商使用该通道推送消息 |
wx | Number | 否 | 无 | 微信 通道策略1-4,表示含义同上,需要授权微信小程序使用该通道推送消息 |
说明:厂商推送策略为 VIP 功能,需升级服务后方可使用。非VIP用户无法设置厂商策略,无需填写strategy 字段,默认所有通道策略都是1 。若须申请修改请点击右侧“技术咨询”了解详情。
说明:厂商智能配额策略为 SVIP 功能,需升级服务后方可使用。若须申请修改请点击右侧“技术咨询”了解详情。
{
"settings": {
"strategy":{
"default":1,
"ios":4,
"hw":1
}
}
}
通知消息(notification),仅支持安卓系统,iOS系统不展示个推通道下发的通知消息
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
duration | String | 否 | 无 | 手机端通知展示时间段,格式为毫秒时间戳段,两个时间的时间差必须大于10分钟,例如:"1590547347000-1590633747000" |
notification | Json | 否 | 无 | 通知消息内容,安卓系统和鸿蒙系统支持,iOS系统不展示个推通知消息,与transmission 、revoke 三选一,都填写时报错 |
transmission | String | 否 | 无 | 纯透传消息内容,安卓、鸿蒙和iOS均支持,与notification 、revoke 三选一,都填写时报错,长度 ≤ 3072字 |
revoke | Json | 否 | 无 | 撤回消息时使用(仅撤回个推通道消息),与notification 、transmission 三选一,都填写时报错(消息撤回请勿填写策略参数) |
说明:厂商不支持定时展示效果,传递duration参数将无法下发厂商消息。
notification
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
title | String | 是 | 无 | 通知消息标题,长度 ≤ 50字 |
body | String | 是 | 无 | 通知消息内容,长度 ≤ 256字 |
big_text | String | 否 | 无 | 长文本消息内容,通知消息+长文本样式,与big_image 二选一,两个都填写时报错,长度 ≤ 512字 |
big_image | String | 否 | 无 | 大图的URL地址,通知消息+大图样式, 与big_text 二选一,两个都填写时报错,URL长度 ≤ 1024字 |
logo | String | 否 | 无 | 通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”,长度 ≤ 64字 |
logo_url | String | 否 | 无 | 通知图标URL地址,长度 ≤ 256字 |
channel_id | String | 否 | Default | 通知渠道id,长度 ≤ 64字 |
channel_name | String | 否 | Default | 通知渠道名称,长度 ≤ 64字 |
channel_level | Number | 否 | 3 | 设置通知渠道重要性(可以控制响铃,震动,浮动,闪灯等等) android8.0以下 0,1,2:无声音,无振动,不浮动 3:有声音,无振动,不浮动 4:有声音,有振动,有浮动 android8.0以上 0:无声音,无振动,不显示; 1:无声音,无振动,锁屏不显示,通知栏中被折叠显示,导航栏无logo; 2:无声音,无振动,锁屏和通知栏中都显示,通知不唤醒屏幕; 3:有声音,无振动,锁屏和通知栏中都显示,通知唤醒屏幕; 4:有声音,有振动,亮屏下通知悬浮展示,锁屏通知以默认形式展示且唤醒屏幕; |
slot_type | Number | 否 | 3 | 设置鸿蒙通知渠道类型 0:未知类型 1:社交通信 2:服务提醒 3:内容咨询 5:客服消息 |
click_type | String | 是 | 无 | 点击通知后续动作, 目前支持以下后续动作, intent :打开应用内特定页面(intent和want字段必须填写一个) url :打开网页地址,payload :自定义消息内容启动应用,payload_custom :自定义消息内容不启动应用,startapp :打开应用首页,none :纯通知,无后续动作 |
intent | String | click_type 为intent时,intent和want必须填写一个 |
无 | 针对安卓系统设置点击通知打开应用特定页面,长度 ≤ 4096字; 示例:intent://com.getui.push/detail?#Intent;scheme=gtpushscheme;launchFlags=0x4000000; package=com.getui.demo;component=com.getui.demo/ com.getui.demo.DemoActivity;S.payload=payloadStr;end intent生成请参考 |
want | String | click_type 为intent时,intent和want必须填写一个 |
无 | 针对鸿蒙系统设置点击通知打开应用特定页面,长度 ≤ 4096字,通知带want传递参数(json格式) want 参数示例: deviceId(必填):设备ID,按上面示例传空值即可。bundleName(必填):应用包名。 abilityName(非必填):客户端的 Ability 页面名称。 action、uri(二选一,必填):只需要填写其中一个参数,分别对应客户端的 Ability 页面 skills 标签配置 中 actions、uris 的值。 parameters(非必填):点击通知栏消息时,携带给客户端的自定义参数,值必须是 json 格式。parameters中添加"gttask":""参数后,个推会自动在 [want] 里拼接 taskid 和 actionid,app 端接收到参数可以用于上报点击埋点。 |
url | String | click_type 为url时必填 |
无 | 点击通知栏消息时,唤起系统默认浏览器打开此链接。必须填写可访问的链接,url长度 ≤ 1024字 示例:https://www.getui.com |
payload | String | click_type 为payload/payload_custom时必填 |
无 | 点击通知时,附加自定义透传消息,长度 ≤ 3072字 |
notify_id | Number | 否 | 无 | 覆盖任务时会使用到该字段,两条消息的notify_id 相同,新的消息会覆盖老的消息,范围:0-2147483647 |
ring_name | String | 否 | 无 | 自定义铃声,请填写文件名,不包含后缀名(需要在客户端开发时嵌入),个推通道下发有效 客户端SDK最低要求 2.14.0.0 |
badge_add_num | Number | 否 | 无 | 角标, 必须大于0, 个推通道下发有效 此属性目前针对华为和荣耀 华为EMUI 4.1 及以上设备有效 荣耀版本要求 Magic UI 4.0及以上有效 角标数字数据会和之前角标数字进行叠加; 举例:角标数字配置1,应用之前角标数为2,发送此角标消息后,应用角标数显示为3。 客户端SDK最低要求 2.14.0.0 |
thread_id | String | 否 | 无 | 消息折叠分组,设置成相同thread_id的消息会被折叠(仅支持个推渠道下发的安卓消息)。目前与iOS的thread_id设置无关,安卓和iOS需要分别设置。 |
category | string | 否 | 无 | 个推通道华为消息分类,可选值:CATEGORY_PROMO, CATEGORY_RECOMMENDATION, CATEGORY_SOCIAL, CATEGORY_CALL, CATEGORY_EMAIL, CATEGORY_MESSAGE, CATEGORY_NAVIGATION, CATEGORY_REMINDER, CATEGORY_SERVICE, CATEGORY_ALARM, CATEGORY_STOPWATCH, CATEGORY_PROGRESS, CATEGORY_LOCATION_SHARING。 参考:华为消息分类标准 -本地通知适配 客户端SDK最低要求 3.3.1.0 |
revoke
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
old_task_id | String | 是 | 无 | 需要撤回的taskId |
force | boolean | 否 | 无 | 在没有找到对应的taskId ,是否把对应appId 下所有的通知都撤回 |
示例:
通知消息:
{
"push_message":{
"notification":{
"title":"请填写你的通知标题",
"body":"请填写你的通知内容",
"big_text":"请填写你的通知长文本",
"logo":"logo.png",
"logo_url":"http://xxxx/a.png",
"channel_id":"请填写你的channel_id",
"channel_name":"请填写你的channel_name",
"channel_level":3,
"click_type":"intent",
"intent":"intent:#Intent;action=;end"
}
}
}
透传消息:
{
"push_message":{
"transmission":"请填写你的透传消息内容"
}
}
撤回消息:
{
"push_message":{
"revoke": {
"old_task_id": "xxx",
"force": false
}
}
}
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
ios | Json | 否 | 无 | ios通道推送消息内容 |
android | Json | 否 | 无 | android通道推送消息内容 |
mp | Json | 否 | 无 | miniProgram通道推送消息内容(只支持透传消息) |
harmony | Json | 否 | 无 | harmony通道离线推送消息内容 |
具体参数含义详见苹果APNs文档
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
type | String | 否 | notify默认通知消息 | voip:voip语音推送,notify:apns通知消息,liveactivity:灵动岛推送(不支持p12证书) |
laId | String | 否 | 无 | 在个推iOS SDK升级到3.0.3.0后,type选择liveactivity进行更新或结束灵动岛(即aps下的event填写update或end时需要该参数,填写start时不需要该参数)时,通过传入该参数选择指定推送的灵动岛,主要步骤如下: 1.客户端创建灵动岛 registerLiveActivity,创建时需要设置自定义 liveActivityId 。 2.若需要更新或者关闭灵动岛,服务端推送时需要传入此 laId,laId和客户端的liveActivityId值一致。 |
aps | Json | 否 | 无 | 推送通知消息内容 |
auto_badge | String | 否 | 无 | 用于计算icon上显示的数字,还可以实现显示数字的自动增减,如“+1”、 “-1”、 “1” 等,计算结果将覆盖badge |
payload | String | 是 | 无 | 增加自定义的数据 |
multimedia | Json Array | 否 | 无 | 多媒体设置 |
apns-collapse-id | String | 否 | 无 | 使用相同的apns-collapse-id 可以覆盖之前的消息 |
aps
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
alert | Json | 否 | 无 | 通知消息 |
content-available | Number | 否 | 0 | 0表示普通通知消息(默认为0); 1表示静默推送(无通知栏消息),静默推送时不需要填写其他参数。 苹果建议1小时最多推送3条静默消息 |
sound | String | 否 | 无 | 自定义铃声,设置为包含后缀名的完整文件名,示例值:ring.mp3 系统铃声,设置为:default 无声,设置为:com.gexin.ios.silence,或不填 |
category | String | 否 | 无 | 在客户端通知栏触发特定的action和button显示 |
thread-id | String | 否 | 无 | ios的远程通知通过该属性对通知进行分组,仅支持iOS 12.0以上版本 |
timestamp | Number | type为liveactivity时必填 | 无 | 当前时间,秒级10位时间戳。 |
event | String | type为liveactivity时必填 | 无 | 灵动岛推送事件start :创建灵动岛。update :更新灵动岛。end :关闭灵动岛,通知中心中还会保留实时活动最长8个小时。如果需要使通知中心中的实时活动也消失,则可以对 dismissal-date 参数设置为一个过去的时间戳。 |
attributes-type | String | type为liveactivity进行通知创建灵动岛时(即event填写start)填写 | 无 | 对应客户端调用+ (BOOL)registerLiveActivity:(NSString *)activityAttributes pushToStartToken:(NSString*)pushToStartToken sequenceNum:(NSString*)sn; 方法的activityAttributes值 |
attributes | Json | type为liveactivity进行通知创建灵动岛时(即event填写start)填写 | 无 | 灵动岛推送透传参数,Json内的kv由业务方自定义 |
dismissal-date | Number | 非必填。event 为end,且需要按时关闭实时活动时才填写,特别注意end时灵动岛就是立即消失,这个时间设置只是让锁屏的岛提前消失(默认锁屏4h才消失) | 无 | 实时活动消失时间,秒级10位时间戳。 |
content-state | Json | type为liveactivity时必填 | 无 | 灵动岛推送透传参数,Json内的kv由业务方自定义 |
alert
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
title | String | 否 | 无 | 通知消息标题 |
body | String | 否 | 无 | 通知消息内容 |
action-loc-key | String | 否 | 无 | (用于多语言支持)指定执行按钮所使用的Localizable.strings |
loc-key | String | 否 | 无 | (用于多语言支持)指定Localizable.strings文件中相应的key |
loc-args | String Array | 否 | 无 | 如果loc-key中使用了占位符,则在loc-args中指定各参数 |
launch-image | String | 否 | 无 | 指定启动界面图片名 |
title-loc-key | String | 否 | 无 | (用于多语言支持)对于标题指定执行按钮所使用的Localizable.strings,仅支持iOS8.2以上版本 |
title-loc-args | String Array | 否 | 无 | 对于标题,如果loc-key中使用的占位符,则在loc-args中指定各参数,仅支持iOS8.2以上版本 |
subtitle | String | 否 | 无 | 通知子标题,仅支持iOS8.2以上版本 |
subtitle-loc-key | String | 否 | 无 | 当前本地化文件中的子标题字符串的关键字,仅支持iOS8.2以上版本 |
subtitle-loc-args | String Array | 否 | 无 | 当前本地化子标题内容中需要置换的变量参数 ,仅支持iOS8.2以上版本 |
multimedia说明:
该字段为Array类型,最多可设置3个子项,每个参数定义如下所示:
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
url | String | 是 | 无 | 多媒体资源地址 |
type | Number | 是 | 无 | 资源类型(1.图片,2.音频,3.视频) |
only_wifi | Boolean | 否 | false | 是否只在wifi环境下加载,如果设置成true,但未使用wifi时,会展示成普通通知 |
示例:
voip语音推送:
{
"ios":{
"type":"voip",
"payload":"自定义消息"
}
}
apns通知消息
{
"ios":{
"type":"notify",
"payload":"自定义消息",
"aps":{
"alert":{
"title":"通知标题",
"body":"通知内容"
},
"content-available":0,
"sound":"com.gexin.ios.silence",
"category":"ACTIONABLE"
},
"auto_badge":"+1",
"multimedia": [{
"url": "https://xxx",
"type": 1,
"only_wifi": false
}]
}
}
apns静默推送 可参考苹果APNs文档
{
"ios":{
"aps":{
"content-available":1
},
"payload": "自定义消息"
}
}
apns灵动岛推送 可参考苹果APNs文档
参考下面的示例更新灵动岛
{
"ios": {
"type": "liveactivity",
"aps": {
"timestamp": 1168364460,
"event": "update",
"content-state": {
"driverName": "Anne Johnson",
"estimatedDeliveryTime": 1659416400
},
"alert": {
"title": "通知标题",
"body": "通知内容",
"sound": "default"
}
}
}
}
或者参考下面的示例创建灵动岛
{
"ios": {
"type": "liveactivity",
"aps": {
"timestamp": 1724833752,
"attributes-type": "MyWidgetAttributes",
"event": "start",
"attributes": {
"progressState": 0,
"name": "My LA"
},
"alert": {
"title": "start LA!!",
"body": "body"
}
}
}
}
更多Android厂商参数,可以参考多厂商参数文档
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
ups | Json | 否 | 无 | android厂商通道推送消息内容 |
ups
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
notification | Json | 否 | 无 | 通知消息内容,与transmission、revoke三选一,都填写时报错。若希望客户端离线时,直接在系统通知栏中展示通知栏消息,推荐使用此参数。 |
transmission | String | 否 | 无 | 透传消息内容,与notification、revoke 三选一,都填写时报错,长度 ≤ 3072字 |
revoke | Json | 否 | 无 | 撤回消息时使用(仅撤回厂商通道消息,支持的厂商有小米、VIVO),与notification、transmission三选一,都填写时报错(消息撤回请勿填写策略参数) |
options | Json | 否 | 无 | 第三方厂商扩展内容 |
说明:撤回小米厂商消息时,请提前在应用配置中配置正确的应用包名
notification
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
title | String | 是 | 无 | 通知栏标题(中英文都只算一个字符,长度建议取最小集) 小米:title长度限制为 50 字符 魅族:title长度限制 32 字符 OPPO:title长度限制 50 字符 VIVO:title长度限制 40 字符 |
body | String | 是 | 无 | 通知栏内容(中英文都只算一个字符,长度建议取最小集) HW:content长度限制 256 字符 小米:content长度限制 128 字符 魅族:content长度限制 100 字符 OPPO:content长度限制 200 字符 VIVO:content长度限制 100 字符 |
click_type | String | 是 | 无 | 点击通知后续动作, 目前支持以下后续动作, intent :打开应用内特定页面(厂商都支持),url :打开网页地址(厂商都支持;华为/荣耀要求https协议,且游戏类应用不支持打开网页地址),startapp :打开应用首页(厂商都支持) |
intent | String | click_type 为intent时必填 |
无 | 点击通知打开应用特定页面,intent格式必须正确且不能为空,长度 ≤ 4096 字符(中英文都只算一个字符);【注意:vivo侧厂商限制 ≤ 1024字符】 示例: intent://com.getui.push/detail?#Intent;scheme=gtpushscheme;launchFlags=0x4000000;package=com.getui.demo;component=com.getui.demo/com.getui.demo.DemoActivity;S.payload=payloadStr;S.gttask=;end intent生成请参考 |
url | String | click_type 为url时必填 |
无 | 点击通知栏消息时,唤起系统默认浏览器打开此链接。必须填写可访问的链接,url长度 ≤ 1024 字符(中英文都只算一个字符) 示例:https://www.getui.com |
notify_id | Number | 否 | 无 | 消息覆盖使用,两条消息的notify_id 相同,新的消息会覆盖老的消息,范围:0-2147483647 |
revoke
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
old_task_id | String | 是 | 无 | 需要撤回的taskId |
options
厂商扩展参数详细内容见多厂商参数
通知示例:
{
"android":{
"ups":{
"notification":{
"title":"厂商通知标题",
"body":"厂商通知内容",
"click_type":"url",
"url":"https://xxx",
"notify_id":1234
},
"options":{
"HW":{
"/message/android/notification/badge/class": "应用入口Activity路径名称",
"/message/android/notification/badge/add_num": 1
},
"VV":{
"/classification": 0
}
}
}
}
}
透传示例:(仅华为通道支持,其它安卓通道不支持透传消息)
{
"android":{
"ups":{
"transmission":"厂商透传消息",
"options":{
"HW":{
"/message/android/urgency":"HIGH",
"/message/android/category":"PLAY_VOICE"
}
}
}
}
}
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
notification | Json | 否 | 无 | 通知消息内容,与transmission、custom、revoke四选一,都填写时报错。若希望客户端离线时,直接在系统通知栏中展示通知栏消息,推荐使用此参数。 |
transmission | String | 否 | 无 | 透传消息内容,与notification、custom、revoke四选一,都填写时报错,长度 ≤ 3072字 |
custom | String | 否 | 无 | 自定义消息内容,与notification、custom、revoke四选一,都填写时报错。 |
revoke | Json | 否 | 无 | 撤回消息时使用(仅撤回厂商通道消息,支持的厂商有华为),与notification、transmission、custom四选一,都填写时报错(消息撤回请勿填写策略参数) 使用鸿蒙华为消息撤回前请先在开发者中心后台配置鸿蒙华为应用clientId 并且在发送通知消息时需设置notify_id参数 鸿蒙华为消息撤回官方文档 |
options | Json | 否 | 无 | 第三方厂商扩展内容 |
notification
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
title | String | 是 | 无 | 通知栏标题 |
body | String | 是 | 无 | 通知栏内容 |
category | String | 是 | 无 | 鸿蒙华为通知消息类别,结合应用的消息内容和消息发送场景使用。详情请参考 鸿蒙消息分类标准 中的 category 取值 |
click_type | String | 是 | 无 | 点击通知后续动作, 目前支持以下后续动作, want :打开应用内特定页面(打开应用首页或特定页面,并携带自定义参数,使用这个动作)startapp :打开应用首页(仅打开应用首页,不携带任何参数,使用这个动作)payload :通知扩展消息(消息分类category参数必填,且设置“EXPRESS”,发送通知扩展消息前请先申请开通对应的消息自分类权益,详情请参见自分类权益申请) |
want | String | click_type 为want时填写 |
无 | 针对鸿蒙系统设置点击通知打开应用特定页面,长度 ≤ 4096字,通知带want传递参数(json格式) want 参数示例: deviceId(必填):设备ID,按上面示例传空值即可。bundleName(必填):应用包名。 abilityName(非必填):客户端的 Ability 页面名称。 action、uri(二选一,必填):只需要填写其中一个参数,分别对应客户端的 Ability 页面 skills 标签配置 中 actions、uris 的值。 parameters(非必填):点击通知栏消息时,携带给客户端的自定义参数,值必须是 json 格式。parameters中添加"gttask":""参数后,个推会自动在 [want] 里拼接 taskid 和 actionid,app 端接收到参数可以用于上报点击埋点。 |
payload | String | click_type 为payload时填写 |
无 | 通知扩展消息的额外数据,传递给应用的数据,长度 ≤ 3072字,应用端根据数据自行处理相关逻辑,详见推送通知扩展消息 |
notify_id | Number | 否 | 无 | 消息覆盖使用,两条消息的notify_id 相同,新的消息会覆盖老的消息,范围:[0, 2147483647](如果要使用鸿蒙华为的消息撤回功能,此参数必填) |
options
{
"constraint":{"key": "value"}
}
名称 | 类型 | 描述 |
---|---|---|
constraint | String | 扩展内容对应厂商通道设置如:HW |
key | String | 厂商内容扩展字段 |
value | 具体数据类型 | value的设置根据key值决定 |
详细内容见多厂商参数
custom
{
"${constraint}": {
"type": "${type}",
"payload": "${payload}"
}
}
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
constraint | String | 是 | 无 | custom消息对应的厂商通道,现在仅支持HW |
type | String | 是 | 无 | 消息类型 subscribe:授权订阅消息(仅支持toSingle推送API),详见官方文档 form_update:卡片刷新消息(仅支持toSingle推送API),详见官方文档 live_view:实况窗消息,详见官方文档 voip_call:VoIP呼叫消息,详见官方文档 |
payload | String | 是 | 无 | 相应消息类型指定请求体的JSON字符串 鸿蒙华为通道设置详见后文示例以及官方文档 |
revoke
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
old_task_id | String | 是 | 无 | 需要撤回的taskId |
通知示例:
{
"harmony":{
"notification":{
"title":"鸿蒙通知标题",
"body":"鸿蒙通知内容",
"category":"MARKETING",
"click_type":"startapp"
},
"options":{
"HW":{
"/pushOptions/testMessage": true
}
}
}
}
透传示例:(仅鸿蒙华为通道支持,但需要在鸿蒙华为后台申请开通)
{
"harmony":{
"transmission": "厂商透传消息"
}
}
自定义消息示例:(仅鸿蒙华为通道支持,使用前请联系技术支持)
{
"harmony": {
"custom": {
"HW": {
"type": "subscribe",
"payload": "{\"subscription\":{\"entityId\":\"TM*****FA9\",\"data\":{\"keyword1\":\"接单了\",\"keyword2\":\"苏A12345\",\"keyword3\":\"司机路径\"},\"clickAction\":{\"actionType\":0}}}"
}
}
}
}
{
"harmony": {
"custom": {
"HW": {
"type": "form_update",
"payload": "{\"formData\":{\"123\":96,\"class\":\"123\"},\"version\":922337203,\"images\":[{\"keyName\":\"hello\",\"url\":\"https://xxxxxxx.uri\",\"require\":1}],\"formId\":0,\"moduleName\":\"testName\",\"formName\":\"testFormName\",\"abilityName\":\"testAbilityName\"}"
}
}
}
}
{
"harmony": {
"custom": {
"HW": {
"type": "live_view",
"payload": "{\"activityId\":2,\"operation\":0,\"event\":\"TAXI\",\"status\":\"DRIVER_ON_THE_WAY\",\"activityData\":{\"notificationData\":{\"type\":3,\"contentTitle\":\"{{status}}\",\"contentText\":[{\"text\":\"距您\"},{\"text\":\"1.2公里\",\"foregroundColor\":\"#FF317AF7\"},{\"text\":\" | \"},{\"text\":\"5分钟\",\"foregroundColor\":\"#FF317AF7\"}],\"clickAction\":{\"actionType\":1,\"action\":\"xxxxxx\"},\"richProgress\":{\"type\":0,\"nodeIcons\":[\"icon1.png\",\"icon2.png\",\"icon3.png\"],\"indicatorIcon\":\"taxi.png\",\"progress\":40,\"indicatorType\":1,\"color\":\"#FF317AF7\",\"bgColor\":\"#19000000\"},\"extend\":{\"type\":3,\"pic\":\"phone.png\",\"clickAction\":{\"actionType\":5,\"data\":{\"tel\":\"138xxxxxxxx\"}}}},\"capsuleData\":{\"type\":1,\"status\":1,\"icon\":\"icon.svg\",\"bgColor\":\"#FF317AF7\",\"remind\":\"EXPAND\",\"title\":\"接驾中\",\"content\":\"预计5分钟\"}}}"
}
}
}
}
{
"harmony": {
"custom": {
"HW": {
"type": "voip_call",
"payload": "{\"extraData\":\"携带的透传数据\"}"
}
}
}
}
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
wx | Json | 否 | 无 | 微信小程序通道推送消息内容 |
wx
名称 | 类型 | 是否必需 | 默认值 | 描述 |
---|---|---|---|---|
template_id | String | 是 | 无 | 所需下发的订阅模板id |
page | String | 否 | 无 | 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转 |
miniprogram_state | String | 否 | formal | 跳转小程序类型:developer :开发版trial :体验版formal :正式版 |
lang | String | 否 | zh_CN | 进入小程序查看”的语言类型:zh_CN :简体中文en_US :英文zh_HK :繁体中文zh_TW :繁体中文 |
data | Json | 是 | 无 | 模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }的Json对象 |
透传示例:
{
"mp":{
"wx":{
"template_id":"TEMPLATE_ID",
"page":"index",
"miniprogram_state":"formal",
"lang":"zh_CN",
"data":{
"number01":{
"value":"300766"
},
"date01":{
"value":"2019年03月25日"
},
"site01":{
"value":"每日互动股份有限公司"
}
}
}
}
}
以上文档对您是否有帮助?