由于第三方厂商和个推对特定推送参数支持不统一,个推为了给客户提供一致的推送服务,对推送参数做了特殊规定,解决接入第三方推送遇到的兼容问题,降低接入成本。
目前第三方厂商的通知到达率显著高于第三方透传的到达率。所以厂商渠道建议使用通知。消息默认下发策略:SDK在线状态,走个推渠道下发消息,SDK离线状态,走厂商渠道下发消息。该文档不再介绍个推渠道的参数设置,着重介绍下第三方厂商渠道的通知消息功能使用。
以下是默认的第三方厂商渠道和个推渠道的下发策略,可以使用策略参数改变下发策略,使用说明详见(RestAPI V2):公共参数-strategy 厂商下发策略选择
push_channel
厂商通道消息内容,设置push_channel/android/ups/notification
对象的title
,content
,intent
等参数。其中可以通过options
参数传入厂商通知扩展内容。
更多options可填参数可以参考下文。
角标设置需要Android客户端配合使用 接口类说明-16 设置华为角标
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"ALL": {
"key": "value"
},
"HW": {
"/message/android/notification/badge/class": "应用入口Activity路径名称",
"/message/android/notification/badge/add_num": 1,
"/message/android/notification/badge/set_num": 2
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
/message/android/notification/badge/class | String | 是 | 无 | value:应用入口Activity路径名称 |
/message/android/notification/badge/add_num | Integer | 是 | 无 | value:应用角标累加数字,并非应用角标实际显示数字 必须是大于0小于100的整数 |
/message/android/notification/badge/set_num | Integer | 是 | 无 | value:角标设置数字 必须是大于0小于100的整数,如果set_num和add_num同时存在,以set_num为准 |
注意事项
1. 点击启动图标或通知栏系统并不会清理角标数,需应用在端侧通过角标API去清理角标;
2. add_num:EMUI版本8.0.0(及以上),推送服务App版本8.0.0(及以上)支持;
3. set_num:EMUI版本10.0.0(及以上),推送服务App版本10.1.0(及以上)支持。
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"HW": {
"/message/android/notification/image": "公网可以访问的https图标链接",
"/message/android/notification/style": 1,
"/message/android/notification/big_title": "big_title",
"/message/android/notification/big_body": "big_body"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
/message/android/notification/image | String | 是 | 无 | 通知小图; value:请写入对应图标https地址 URL使用的协议必须是HTTPS协议,取值样例:https://example.com/image.png。 |
/message/android/notification/style | Integer | 是 | 无 | 通知长文本; value:1 通知栏样式1,为长文本。 |
/message/android/notification/big_title | String | 是 | 无 | 通知长文本; value:通知title内容 设置big_title后通知栏展示时,使用 big_title而不用title。 |
/message/android/notification/big_body | String | 是 | 无 | 通知长文本; value:通知title内容 通知body内容。设置big_body后通知栏展示时,使用big_body而不用body。 |
注意事项
1. 通知长文本:EMUI版本9.1.0(及以上),推送服务App版本9.1.1(及以上)支持。
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"XM": {
"channel": "Default"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
channel | String | 是 | 无 | value:填写小米平台申请的渠道id |
先调用小米接口,上传图片,获取图片url。
Java方式 参考(小米官方文档) 4.4.1 大图/大文本/Large icon,或者集成个推多厂商推送工具集。
RestAPI 方式 参考(小米官方文档)11.1 大图、大文本/上传大图API。
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"XM": {
"notification_large_icon_uri": "http://url.large.icon/xxx.png",
"notification_style_type": 1,
"notification_bigTxt": "text less than 128 characters",
"notification_bigPic_uri": "http://url.big.pic/xxx.png"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
notification_large_icon_uri | String | 是 | 无 | 通知小图; value:填写接口返回的图片链接。 Large icon可以出现在大图版和多字版消息中,显示在右边,通知小图。图片要求:尺寸必须为 120×120px,文件小于200KB,PNG/JPG/JPEG格式。 |
notification_style_type | String | 是 | 无 | 通知大文本; value:1 大文本和大图二选一。 |
notification_bigTxt | String | 是 | 无 | 通知大文本; value:文本内容 支持展示多行文字;最多128字,可以通过\n换行。 |
notification_bigPic_uri | String | 是 | 无 | 通知大文本; value:填写接口返回的图片链接 图片要求:固定876x324px,小于1M,PNG/JPG/JPEG格式。 |
注意事项:
1. 富文本消息仅在MIUI10及以上版本支持,在低版本和非MIUI系统上,消息将按照普通消息的样式展示;
2. 国内版MIUI系统中,仅在MIUI12及以上版本支持large icon,MIUI12以下版本不会展示;
3. 发送大图消息时,如果因为网络原因图片下载失败后将不会展示图片, 而是按照普通消息样式 展示。
OPush平台上所有通道分为“公信”(默认)、“私信”两类,默认下发公信消息。公信消息单日可推送数量有限制,私信消息不限(仅限单个用户)。私信消息申请请参见(OPPO官方文档)通道升级公测邀请。
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"OP": {
"channel": "Default"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
channel | String | 是 | 无 | value:填写OPPO平台登记的渠道ID |
注意事项
1.该接口需要联系个推技术人员申请开通才可以使用;
2.OPPO私信消息仅支持单推。
先调用OPPO接口,上传图片,获取图标url。
Java方式集成个推多厂商推送工具集。
RestAPI 参考 “图片上传” 。
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"OP": {
"small_picture_id": "xxxxxxxxxxxxxxx",
// "style": 2,
"style": 3,
"big_picture_id": "big_body"
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
small_picture_id | String | 是 | 无 | 通知小图; value: 填写接口返回的图标ID 图片要求:尺寸144*144 px,文件大小为50k以内,格式为PNG/JPG/JPEG。 |
style | Integer | 是 | 无 | 通知长文本 value: 2 长文本和大图二选一。 *或复用通知的 content 接口,长文本样式(style 为2)限制字数128个以内。 |
style | Integer | 是 | 无 | 通知大图 value: 3 长文本和大图二选一。 |
big_picture_id | String | 是 | 无 | 通知大图 value:填写接口返回的图标id 大图样式(style 为 3)限制通知content字数50以内。图片要求:尺寸876*324px,文件大小1M以内,格式为PNG/JPG/JPEG。 |
注意事项:
1. 通知小图标、长文本、大图不支持单推,单推请求会返回无权限错误;
2. 长文本样式(ColorOS版本>5.0可用,通知栏第一条消息可展示全部内容,非第一条消息只展示一行内容);
3. 大图样式(ColorOS版本>5.0可用,通知栏第一条消息展示大图,非第一条消息不显示大图,推送方式仅支持广播,且不支持定速功能)。
vivo消息分类功能将推送消息类型分为运营消息和系统消息,默认下发运营消息。运营消息单用户单应用单日接收条数上限为5条,系统消息不限。系统消息功能不用申请,可以直接使用,如特殊情况需额外提升系统消息量级,请参见(vivo官方文档)推送消息分类功能说明。
{
"android": {
"ups": {
"notification": {
// ...其他push_channel参数略
},
"options": {
"VV": {
"classification": 0
}
}
}
}
}
名称 | 类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
classification | Integer | 是 | 0 | value: 0代表运营消息,1代表系统消息 不填默认为0 |