推送消息字段解释

推送消息结构

{
  //环信保留字段解释
  "timestamp": 1618396128348,
  "taskId": "",
  "eid": "",
  "appkey": "",
  
  //基础推送功能
  "title": "您有一条新消息",
  "subTitle": "",
  "content": "请及时查看",
  "ext": {},
  "deviceToken": "",
  "notifierName": "",
  
  //特殊推送配置
  "apns": {},
  "fcm": {},
  "huawei": {},
  "meizu": {},
  "oppo": {},
  "vivo": {},
  "xiaomi": {}
}
字段类型字段说明
title string 推送显示标题默认:您有一条新消息 限制:vivo限制40,xiaomi限制50,oppo限制32,meizu限制32
subTitlestring推送显示子标题
contentstring推送显示内容默认:请及时查看 限制:vivo100,xiaomi128,oppo限制200,meizu限制100
extobject推送自定义扩展键值
apns object APNs推送特性。详见:APNs推送特性
fcm object FCM推送特性。详见:FCM推送特性
xiaomi object xiaomi推送特性。详见:xiaomi推送特性
vivo object Vivo推送特性。详见:Vivo推送特性
oppo object Oppo推送特性。详见:Oppo推送特性
meizu object Meizu推送特性。详见:Meizu推送特性
huawei object Huawei推送特性。详见:Huawei推送特性

APNs推送说明

字段类型字段说明
invalidationTime integer 推送过期时间间隔(ms)
priority integer 推送优先级 (5 - 立即,10-省电)
pushTypestring推送类型 (alert,VOIP等)
collapseIdstring推送折叠id
apnsIduuid推送标示
badgeinteger角标
soundstring铃声 (默认:default)
mutableContentboolean
contentAvailableboolean配置后台更新通知。 系统会在后台唤醒您的应用程序,并将通知传递
categoryNamestring通知的类型
threadIdstring分组通知的特定于应用程序的标识符
titlestring推送显示标题
subTitlestring推送显示子标题
contentstring推送显示内容
titleLocKeystring推送显示国际化支持
titleLocArgslist<string>-
subTitleLocKeystring-
subTitleLocArgslist<string>-
bodyLocKeystring-
bodyLocArgslist<string>-
extobject自定义推送扩展
launchImagestring当用户点击操作按钮或移动操作滑块时,该图像用作启动图像

Fcm推送说明

字段 类型 字段说明
condition string 指定消息目标的逻辑条件表达式
collapseKey string 折叠键
priority string 优先级 (normal/high)
timeToLive string 离线消息保留时长(秒)
dryRun boolean 是否测试消息,实际不会下发
restrictedPackageName string 指定应用的软件包名称,其注册令牌必须匹配才能接收消息
data object 自定义推送扩展
notification object [推送显示相关内容]Fcm 安卓推送相关内容

Fcm 安卓推送相关内容

字段 类型 字段说明
title string 通知的标题
body string 通知内容
androidChannelId string 通知的通道id
icon string 通知图标
sound string 通知铃声
tag string 用于替换抽屉式通知栏中现有通知的标识符
color string 通知的图标颜色
clickAction string 点击相关的操作。点击通知时,将会启动带有匹配 intent 过滤器的 Activity
titleLocKey string 国际化相关
titleLocArgs list<string>
bodyLocKey string
bodyLocArgs list<string>

Xiaomi推送说明

自定义通道和跳转

{
    "title":"你好,欢迎使用环信",
    "content":"你好",
    "channelId":"easemob-test",
    "notifyEffect":3,
    "webUri":"http://www.easemob.com"
}
字段 类型 字段说明
title string 标题
description string 内容
restrictedPackageNames string 应用包名
passThrough integer 0 表示通知栏消息 1 表示透传消息
payload string 消息的内容。(注意:需要对payload字符串做urlencode处理)
notifyType integer 通知方式:-1 默认全部;1 使用默认提示音提示; 2 使用默认震动提示; 4 使用默认led灯光提示;
timeToLive long 离线保留时长(毫秒)
timeToSend long 定时发送消息。用自1970年1月1日以来00:00:00.0 UTC时间表示
notifyId integer 相同notify_id的通知栏消息会覆盖之前
sound string 铃声,例:
"android.resource://" + PACKAGENAME + "/raw/shaking"
ticker string 开启通知消息在状态栏滚动显示
notifyForeground string 开启/关闭app在前台时的通知弹出(0/1)
notifyEffect string 预定义通知栏消息的点击行为。通过设置extra.notify_effect的值以得到不同的预定义点击行为。1 - 通知栏点击后打开app的Launcher Activity; 2 - 通知栏点击后打开app的任一Activity(intentUri);3 - 通知栏点击后打开网页(webUri)
intentUri string 当前app的组件
webUri string 网页
flowControl integer 控制是否需要进行平缓发送
jobkey string 消息聚合,相同jobkey的消息只展示第一条。
callbackUrl string 回调地址
callbackParam string 回调参数
callbackType integer 回调类型:1 - 送达;2 - 点击;3 - 送达或点击;16 - 设备无效;32 - 禁用PUSH;64 - 不符合过滤条件;128 - 推送超限;1024 - TTL过期
locale string 可以接收消息的设备的语言范围,用逗号分隔
localeNotIn string
model string 可以收到消息的设备的机型/品牌/价格范围。
modelNotIn string
appVersion string 可以接收消息的app版本号
appVersionNotIn string
connpt string 特定的网络环境下才能接收到消息。目前仅支持指定”wifi”。
onlySendOnce string 1 - 消息仅在设备在线时发送一次,不缓存离线消息进行多次下发。
channelId string [通知类别的ID](https://dev.mi.com/console/doc/detail?pId=1163#_11)

Vivo推送说明

系统消息,回执和打开网页

{
    "classification": 1,
    "extra": {
      "callback": "http://www.easemob.com/callback",
      "callbackParam": "test psuh callback"
    },
    "skipContent": "http://www.easemob.com",
    "skipType": 2
  }
字段 类型 字段说明
title string 标题
content string 内容
notifyType integer 通知类型 1:无,2:响铃,3:振动,4:响铃和振动
timeToLive integer 消息保留时长 单位:秒
skipType integer 点击跳转类型 1:打开APP首页 2:打开链接 3:自定义 4:打开app内指定页面
skipContent string 跳转内容 跳转类型为2时,跳转内容最大1000个字符
networkType integer 网络方式 -1:不限,1:wifi下发送,不填默认为-1
classification integer 消息类型 0:运营类消息,1:系统类消息。不填默认为0
clientCustomMap object 客户端自定义键值对
requestId string 用户请求唯一标识 最大64字符
pushMode integer 推送模式 0:正式推送;1:测试推送,不填默认为0
extra object [推送回调]vivo 推送回调

vivo 推送回调

字段 类型 字段说明
callback string 回调url, 长度限制 128
callbackParam string 回调参数,长度限制 64

Oppo 推送说明

标题和跳转

{
    "title":"你好,欢迎使用环信推送",
    "subTitle":"你好",
    "content":"你好先生",
    "channelId":"easemob-channel",
    "clickActionType":2,
    "clickActionUrl":"http://www.easemob.com"
}
字段 类型 字段说明
title string 标题
subTitle string 子标题
content string 内容
channelId string 通道id
appMessageId string 同一message id只推一次
style integer 通知栏样式 1 - 标准,2 - 长文本,3 - 大图
clickActionType integer 点击动作类型:0 - 启动应用;1 - 打开应用内页(activity的intent action);2 - 打开网页;4 - 打开应用内页(activity);5 - Intent scheme URL
clickActionActivity string 应用内页地址【click_action_type为1/4/时必填,长度500】
clickActionUrl string 网页地址或【click_action_type为2与5时必填,长度500】
actionParameters string 动作参数,打开应用内页或网页时传递给应用或网页
offLine boolean 是否进离线消息
offLineTtl integer 离线消息保存时长 (秒)
timeZone string 时区 (GMT+08:00)
callBackUrl string 回调地址
callBackParameter string 回调参数
showTtl integer 限时展示(秒)
notifyId integer 通知显示时的唯一标识,实现新的消息覆盖上一条消息功能。

Meizu 推送说明

字段 类型 字段说明
title string 标题
content string 内容
noticeExpandType integer 展开方式 0 - 禁用1 - 文本
noticeExpandContent string 展开内容, 【noticeExpandType为文本时,必填】
clickType integer 点击动作 0 - 打开应用;1 - 打开应用页面;2 - 打开H5地址;3 - 应用客户端自定义
url string H5页面地址
parameters object 参数
activity string 应用页面地址
customAttribute string 应用客户端自定义内容
isOffLine boolean 是否进离线消息
validTime integer 有效时长(小时)
isSuspend boolean 是否通知栏悬浮窗显示
isClearNoticeBar boolean 是否可清除通知栏
isFixDisplay booelan 是否定时展示
fixStartDisplayDate date 定时展示开始时间
fixEndDisplayDate date 定时展示结束时间
vibrate booelan 通知方式 震动
lights booelan 通知方式 闪光
sound booelan 通知方式 声音
notifyKey string 分组合并推送的key,凡是带有此key的通知栏消息只会显示最后到达的一条
callback string 回调url, 长度限制 128
callbackParam string 回调参数,长度限制 64
callbackType string int(可选字段), 回执类型(1-送达回执, 2-点击回执, 3-送达与点击回执), 默认3

Huawei 推送说明

华为自定义铃声样例

{
    "message":{
        "android":{
            "notification":{
                "title":"wx1994发来新消息3",
                "body":"联系人发来新消息",
                "channelId":"hyphenate_offline_push_notification",
                "defaultSound":false,
                "sound":"/raw/ring",
                "importance":"HIGH"
            }
        }
    }
}
字段 类型 字段说明
validateOnly boolean 是否测试消息
message object [推送消息结构体](####message)
review object 第三方审核机构审核结果,具体请参考华为官网[Review](https://developer.huawei.com/consumer/cn/doc/development/HMS-References/push-sendapi#Review)的定义

message

字段 类型 字段说明
data string 自定义消息负载,支持普通字符串或者JSON格式字符串。
notification object [通知栏消息内容](####notification)
androidConfig object [安卓消息推送控制参数](####androidConfig)

notification

字段 类型 字段说明
title string 通知栏消息的标题
body string 通知栏消息的内容
image string 用户自定义的通知栏消息右侧大图标URL

android

字段 类型 字段说明
collapseKey integer 离线消息缓存分组标识
urgency string 透传消息投递优先级。
category string 用于重要优先级的透传消息发送场景标识
ttl string 消息缓存时间(秒)
biTag string 批量任务消息标识
fastAppTargetType integer 快应用发送透传消息时,指定小程序的模式类型,1 - 开发态 ; 2 - 生产态(默认值)
data string 自定义消息负载,此处如果设置了data,则会覆盖message.data字段
notification object [安卓通知栏消息结构体](####android.notification)

android.notification

字段 类型 字段说明
title string 安卓通知栏消息标题
body string 安卓通知栏消息内容
icon string 自定义通知栏左侧小图标,本地的/res/raw/,支持的文件格式目前包括png、jpg。
color string 自定义通知栏按钮颜色。
sound string 自定义消息通知铃声,在新创建渠道时有效,此处设置的铃声文件必须存放在应用的/res/raw路径下,例如设置为“/raw/shake”,对应应用本地的/res/raw/shake.xxx文件,支持的文件格式包括mp3、wav、mpeg等,如果不设置使用默认系统铃声。注意:由于铃声是通知渠道的属性,因此铃声仅在渠道创建时有效,渠道创建后,即使设置自定义铃声也不会播放,而使用创建渠道时设置的铃声。
defaultSound boolean 默认铃声控制开关
tag string 消息标签,同一应用下使用同一个消息标签的消息会相互覆盖,只展示最新的一条。
clickAction object [消息点击行为](####android.notification.clickAction)
bodyLocKey string 通知显示本地化
bodyLocArgs List<string>
titleLocKey string
titleLocArgs List<string>
multiLangKey List<object> 消息国际化多语言参数
channelId string 通道Id
notifySummary string 安卓通知栏消息简要描述。
image string 自定义的安卓通知栏消息右侧大图标URL
style integer 通知栏样式:0 - 默认样式;1 - 大文本样式;3 - Inbox样式
bigTitle string 安卓通知栏消息大文本标题。
bigBody string 安卓通知栏消息大文本内容。
autoClear integer 消息展示时长,超过后自动清除,单位为毫秒。
notifyId integer 每条消息在通知显示时的唯一标识。实现新的通知栏消息覆盖老的。
group string 消息分组,将同一组的消息只显示1条
badge object [安卓通知消息角标控制](####android.notification.bage)
autoCancel boolean 安卓通知栏消息保持标识,在点击通知栏消息后,消息是否不显示在通知栏
when string 消息的排序时间,安卓通知栏消息根据这个值将消息排序,同时这个时间在通知栏上显示。样例:2014-10-02T15:01:23.045123456Z
importance string 安卓通知栏消息优先级:LOW 一般(静默)NORMAL:重要 HIGH:非常重要
useDefaultVibrate boolean 是否使用系统默认振动模式控制开关。
useDefaultLight boolean 是否使用默认呼吸灯模式控制开关。
vibrateConfig string 安卓自定义通知消息振动模式,每个数组元素按照“[0-9]+\|[0-9]+[sS]\|[0-9]+[.][0-9]{1,9}\|[0-9]+[.][0-9]{1,9}[sS]“格式,取值样例[“3.5S”,”2S”,“1S”,“1.5S”],数组元素最多支持10个,每个元素数值整数大于0小于等于60。
visibility string 安卓通知栏消息可见性,取值如下:VISIBILITY_UNSPECIFIEDPRIVATEPUBLICSECRET取值说明请参考[锁屏不展示通知内容](https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/push-other#h1-1576835261364)。
lightSettings object [自定义呼吸灯模式](####android.notification.light)
foregroundShow boolean 设备应用在前台时通知栏消息是否前台展示开关
inboxContent List<string> 当style为3时,Inbox样式的内容(必选),支持最大5条内容,每条最大长度1024。展示效果请参考[Inbox样式](https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/push-other#inbox_style)章节。
buttons List<object> [通知栏消息动作按钮](####android.notification.button),最多设置3个。

android.notification.button

字段 类型 字段说明
name string 按钮名称,必填,最大长度40
actionType integer 按钮动作类型:0:打开应用首页;1:打开应用自定义页面;2:打开指定的网页;3:清除通知;4:分享功能;
intentType integer 打开自定义页面的方式:0:设置通过intent打开应用自定义页面;1:设置通过action打开应用自定义页面;当action_type为1时,该字段必填。
intent string 当action_type为1,此字段按照intent_type字段设置应用页面的uri或者action.
data string 最大长度1024。当字段action_type为0或1时,该字段用于在点击按钮后给应用透传数据,选填,格式必须为key-value形式:{“key1”:“value1”,“key2”:“value2”,…}。当action_type为4时,此字段必选,为分享的内容。

android.notification.bage

字段 类型 字段说明
addNum integer 角标累加数字,大于0小于100的正整数。
class string 应用包名+应用入口Activity类名。样例:com.huawei.codelabpush.MainActivity
setNum integer 角标设置数字,大于等于0小于100的整数。

android.notification.clickAction

字段 类型 字段说明
type integer 消息点击行为类型,1:用户自定义点击行为2:点击后打开特定url3:点击后打开应用App4:点击后打开富媒体信息
intent string 自定义页面中intent的实现,当type为1时,字段intent和action至少二选一。
url string 设置打开特定URL。
richResource string 设置打开富媒体消息。
action string 设置通过action打开应用自定义页面。

android.notification.light

字段 类型 字段说明
color object [呼吸灯颜色](####android.notification.light.color)
lightOnDuration string 呼吸灯点亮时间间隔,格式按照“\d+\|\d+[sS]\|\d+.\d{1,9}\|\d+.\d{1,9}[sS]”
lightOffDuration string 呼吸灯熄灭时间间隔,格式按照“\d+\|\d+[sS]\|\d+.\d{1,9}\|\d+.\d{1,9}[sS]”

android.notification.light.color

字段 类型 字段说明
alpha float RGB颜色中的alpha设置,默认值为1,取值范围[0,1]
red float RGB颜色中的red设置,默认值为0,取值范围[0,1]
green float RGB颜色中的green设置,默认值为0,取值范围[0,1]
blue float RGB颜色中的blue设置,默认值为0,取值范围[0,1]