文档中心>即时通信 IM>推送服务(Push)>服务端 API>公共参数(OfflinePushInfo说明)

公共参数(OfflinePushInfo说明)

最近更新时间:2026-02-06 22:00:03

我的收藏

推送 OfflinePushInfo 说明

OfflinePushInfo 是专用于通知栏推送配置的 JSON 对象,允许配置是否关闭推送、推送标题描述、推送文本描述、推送透传、推送厂商相关参数等。

普通 Notification 推送

营销资讯类推送。
{
// 其他参数...
"OfflinePushInfo": {
"PushFlag": 0,
"Title":"离线推送标题",
"Desc": "离线推送内容",
"Ext": "{\\"entity\\":{\\"key1\\":\\"value1\\",\\"key2\\":\\"value2\\"}}", // 透传字段,推送使用json格式字符串
"AndroidInfo": {
"Sound": "shake", // 铃声文件名,不带后缀
"XiaoMiChannelID": "xiaomi_channel_id",
"OPPOChannelID": "oppo_channel_id",
"OPPOCategory": "MARKETING", // OPPO 消息分类:内容与营销
"VIVOCategory": "MARKETING", // vivo 消息分类:运营消息
"HuaWeiCategory": "MARKETING", // 华为消息分类:资讯营销
"HonorImportance": "LOW", // 荣耀消息分类:资讯营销
"MeiZuNoticeMsgType": 0 // 魅族消息分类:公信消息
},
"ApnsInfo": {
"Sound": "apns.mp3", // 铃声文件名,带后缀
"BadgeMode": 1,
"Title":"apns title",
"SubTitle":"apns subtitle",
"Image":"www.image.com",
"MutableContent": 1
}
}
}
即时通信类推送。
{
// 其他参数...
"OfflinePushInfo": {
"PushFlag": 0,
"Title":"离线推送标题",
"Desc": "离线推送内容",
"Ext": "{\\"entity\\":{\\"key1\\":\\"value1\\",\\"key2\\":\\"value2\\"}}", // 透传字段,推荐使用json格式字符串
"AndroidInfo": {
"Sound": "shake", // 铃声文件名,不带后缀
"XiaoMiChannelID": "xiaomi_channel_id",
"OPPOChannelID": "oppo_channel_id",
"VIVOCategory": "IM", // vivo 消息分类:系统消息
"HuaWeiCategory": "IM", // 华为消息分类:服务与通讯
"HonorImportance": "LOW", // 荣耀消息分类:服务通讯
"MeiZuNoticeMsgType": 0 // 魅族消息分类:私信消息
"OPPOCategory": "IM", // OPPO 消息分类:通讯与服务
"OPPOPrivateMsgTemplateId": "xxxx", // OPPO 私信消息模板id
"OPPOPrivateTitleParameters": { // OPPO 私信消息标题模板填充参数,json格式
"k1": "v1"
...
},
"OPPOPrivateContentParameters": { // OPPO 私信消息内容模板填充参数,json格式
"k1": "v1",
...
},
},
"ApnsInfo": {
... // 详情参见 ApnsInfo 字段说明
}
}
}

APNs 透传推送

{
// 其他参数...
"OfflinePushInfo": {
"Ext": "{\\"entity\\":{\\"key1\\":\\"value1\\",\\"key2\\":\\"value2\\"}}" // 透传字段,推送使用json格式字符串
"ApnsInfo": {
"ContentAvailable": 1 // APNS 透传推送
},
"AndroidInfo": {
... // 详情参见 AndroidInfo 字段说明
}
}
}

APNs VoIP 推送

{
// 其他参数...
"OfflinePushInfo": {
"Title":"离线推送标题", // 接收方未上报 VoIP token 时,兜底走普通 Notification 推送的 Title
"Desc": "离线推送内容", // 接收方未上报 VoIP token 时,兜底走普通 Notification 推送的 Desc
"Ext": "{\\"entity\\":{\\"key1\\":\\"value1\\",\\"key2\\":\\"value2\\"}}" // 透传字段,推送使用json格式字符串
"ApnsInfo": {
"IsVoipPush": 1 // APNS VoIP推送
},
"AndroidInfo": {
... // 详情参见 AndroidInfo 字段说明
}
}
}

APNs LiveActivity (灵动岛) 推送

更新 LiveActivity。
{
// 其他参数...
"OfflinePushInfo": {
"Title": "离线推送标题",
"Desc": "离线推送内容",
"Ext": "{\\"entity\\":{\\"k1\\":\\"v1\\",\\"k2\\":\\"v2\\"}}", // 透传字段,推送使用json格式字符串
"ApnsInfo": {
"LiveActivity": {
"LaId": "timpush",
"Event": "update", // 更新 LiveActivity 推送
"ContentState": {
"k1": v1,
"k2": v2,
...
}
}
}
"AndroidInfo": {
... // 详情参见 AndroidInfo 字段说明
}
}
}
结束 LiveActivity。
{
// 其他参数...
"OfflinePushInfo": {
"Title": "离线推送标题",
"Desc": "离线推送内容",
"Ext": "{\\"entity\\":{\\"k1\\":\\"v1\\",\\"k2\\":\\"v2\\"}}", // 透传字段,推送使用json格式字符串
"ApnsInfo": {
"LiveActivity": {
"LaId": "timpush",
"Event": "end", // 结束 LiveActivity 推送
"ContentState": {
"k1": v1,
"k2": v2,
...
},
"DismissalDate": 1739502750
}
}
"AndroidInfo": {
... // 详情参见 AndroidInfo 字段说明
}
}
}

多语言推送

{
// 其他参数...
"OfflinePushInfo": {
"PushFlag": 0,
"Title":"离线推送标题",
"Desc": "离线推送内容",
"MultiLanguageContent":[
{
"Language":"zh-hant",
"Title":"離線推送標題",
"Desc":"離線推送內容"
},
{
"Language":"en",
"Title":"Offline Push Notification Title",
"Desc":"Offline Push Notification Desc"
}
],
"Ext": "{\\"entity\\":{\\"key1\\":\\"value1\\",\\"key2\\":\\"value2\\"}}", // 透传字段,推送使用json格式字符串
"AndroidInfo": {
... // 详情参见 AndroidInfo 字段说明
},
"ApnsInfo": {
... // 详情参见 ApnsInfo 字段说明
}
}
}

OfflinePushInfo 字段说明

字段
类型
属性
说明
PushFlag
Integer
选填
0:表示推送。
1:表示不离线推送。
Title
String
选填
通知栏推送标题。
Desc
String
选填
通知栏推送内容。
MultiLanguageContent
Array
选填
多语言推送内容,后台根据终端系统语言类型,来匹配需要推送的内容,没匹配上走默认 Title 和 Desc,该功能需要依赖的 SDK 版本为8.5.6870及以上。示例代码请参见 多语言推送
Language
String
选填
Title 和 Desc 对应的语言标识,具体请参见 多语言码表
Ext
String
选填
离线推送透传内容。由于国内各 Android 手机厂商的推送平台要求各不一样,请保证此字段为 JSON 格式,否则可能会导致收不到某些厂商的离线推送。
AndroidInfo
Object
选填
Android 消息推送控制参数,具体字段请参见 AndroidInfo 字段说明
ApnsInfo
Object
选填
APNs 消息推送控制参数,具体字段请参见 ApnsInfo 字段说明
HarmonyInfo
Object
选填
Harmony 消息推送控制参数,具体字段参见 HarmonyInfo 字段说明
BadgeAddNum
Integer
选填
设置角标数字累加值,在原角标的基础上进行累加。
APNs推送,取值范围 [1~99],BadgeAddNumBadgeSetNum 同时存在时,以BadgeSetNum 为准。如果都没设置,具体可参见 ApnsInfo.BadgeMode
华为/荣耀/鸿蒙推送,取值范围 [1~99],BadgeAddNumBadgeSetNum 同时存在时,以BadgeSetNum 为准。如果都没设置,角标自增1。
对于其他推送厂商,该字段不生效。
BadgeSetNum
Integer
选填
设置角标数字。
APNs 推送,取值范围 [0~999]。
华为/荣耀/鸿蒙推送,取值范围 [0~99]。
对于其他推送厂商,该字段不生效。
其他情况,参考BadgeAddNum

AndroidInfo 字段说明

字段
类型
属性
说明
Sound
String
选填
Android 系统通知铃声文件名,不带后缀。例如设置为“shake”,对应应用本地的“/res/raw/shake.xxx”文件。
PushStyle
Integer
选填
Android通知栏样式,“0”代表默认样式,“1”代表大文本样式,不填默认为0。仅对
华为/荣耀/OPPO生效。
XiaoMiChannelID
String
选填
小米推送 MIUI 10 及以上的通知类别(Channel)适配字段。详细请参见:小米消息分类
该字段不为空时,会覆盖控制台推送证书配置的 ChannelID 值。
OPPOChannelID
String
选填
OPPO 推送 Android 8.0 及以上的 NotificationChannel 通知适配字段。
该字段不为空时,会覆盖控制台推送证书配置的 ChannelID 值。
OPPOCategory
String
选填
OPPO 推送消息分类,用于标识消息类型,详细请参见:category 描述
该字段不为空时,会覆盖控制台推送证书配置的 category 值。
OPPOPrivateMsgTemplateId
String
选填
OPPO 推送私信模板 ID,下发对应私信模板时必须携带。如果 OPPOCategory 设置分类为内容与营销,则此字段无效。详细请参见《OPUSH私信模板校验》
OPPOPrivateTitleParameters
JSON Object
选填
OPPO 推送标题模板填充参数。例:私信模板 ID 标题模板为:欢迎来到$ {city} $ ,$ {city} $ 欢迎您。此参数内容为:{“city”:“北京”}
OPPOPrivateContentParameters
JSON Object
选填
OPPO 推送内容模板填充参数。例:私信模板 ID 对应的内容模板为:欢迎$ {userName} $ 来到$ {city} $ 。此参数内容为:{“userName”:“汤姆”,“city”:“深圳市”}
OPPONotifyLevel
Integer
选填
OPPO 推送通知栏消息提醒等级取值定义,详细请参见: notify_level描述
1:通知栏。
2:通知栏 + 锁屏。
16:通知栏 + 锁屏 + 横幅 + 震动 + 铃声。
使用 OPPONotifyLevel 时,OPPOCategory 必传。
VIVOClassification
Integer
选填
vivo 推送消息分类,“0”代表运营消息,“1”代表系统消息,不填默认为1。( vivo 推送服务于 2023 年 4 月 3 日优化消息分类规则,推荐使用 AndroidInfo.VIVOCategory 设置消息类别。)
VIVOCategory
String
选填
vivo 推送消息分类,用于标识消息类型,详细请参见 category 描述
该字段不为空时,会覆盖控制台推送证书配置的 category 值。
VIVONotifyType
Integer
选填
通知类型 1:无,2:响铃,3:振动,4:响铃和振动。默认取值4。详细请参见 notifyType描述
HuaWeiImportance
String
选填
华为推送消息提醒级别,取值为 LOW、NORMAL。
HuaWeiCategory
String
选填
华为推送消息分类,用于标识消息类型,详细请参见: category 描述
该字段不为空时,会覆盖控制台推送证书配置的 category 值。
HuaWeiImage
String
选填
华为推送通知栏消息右侧小图标 URL,URL 必须使用 HTTPS 协议,取值样例:https://example.com/image.png。图片文件须小于512KB,规格建议为40dp x 40dp,弧角大小为8dp。超出建议规格的图片会存在压缩或显示不全的情况。图片格式建议使用JPG/JPEG/PNG。
HuaWeiChannelID
String
选填
华为推送 EMUI 10.0 及以上的通知渠道字段。
该字段不为空时,会覆盖控制台推送证书配置的 ChannelID 值。
HonorImage
String
选填
荣耀推送通知栏消息右侧小图标 URL,URL 必须使用 HTTPS 协议,取值样例:https://example.com/image.png。 图标文件须小于512KB,图标建议规格大小:40dp x 40dp,弧角大小为8dp,超出建议规格大小的图标会存在图片压缩或显示不全的情况。
HonorImportance
String
选填
荣耀推送消息分类,取值为 LOW、NORMAL,详细请参见: 荣耀消息分类
GoogleImage
String
选填
Google 推送通知栏消息右侧图标 URL,图片资源不超过1M,支持 JPG/JPEG/PNG 格式,取值样例:https://example.com/image.png
GooglePriority
String
选填
Google 推送通知栏消息优先级,详细请参见 priority 描述
normal:设备处于前台运行,会立即投递;设备处于后台 / Doze 模式,会延迟批量投递。
high:设备处于任意状态,都会唤醒设备,强制投递。
GoogleChannelID
String
选填
Google 推送 Android 8.0 及以上的通知渠道字段。
MeiZuNoticeMsgType
Integer
选填
魅族推送消息分类,“0”代表公信消息,“1”代表私信消息,详细请参见: 魅族消息分类说明
该字段不为空时,会覆盖控制台魅族推送证书配置的消息分类。

ApnsInfo 字段说明

字段
类型
属性
说明
BadgeMode
Integer
选填
为0表示需要计数,为1表示本条消息不需要计数,即右上角图标数字不增加。
注意:
IM 场景下默认值为0,非 IM 场景(例如调用单发推送接口)默认值为1。
Title
String
选填
该字段用于标识 APNs 推送的标题,若填写则会覆盖最上层 Title。
SubTitle
String
选填
该字段用于标识 APNs 推送的子标题。
Image
String
选填
该字段用于标识 APNs 携带的图片地址,当客户端拿到该字段时,可以通过下载图片资源的方式将图片展示在弹窗上。
MutableContent
Integer
选填
为 1 表示开启 iOS 10+ 的推送扩展,默认为0。
Sound
String
选填
iOS 系统通知铃声文件名,带后缀。自定义铃声长度不能超过30s,需要先把语音文件链接进 Xcode工程。取值样例:shake.mp3
InterruptionLevel
String
选填
iOS 15+ 的推送通知级别,取值只能是 active、critical、passive、time-sensitive 中的一个,详情请参见:APNs InterruptionLevel 描述
ContentAvailable
Integer
选填
为 1 表示是 iOS 静默推送,无通知栏弹窗,苹果建议1小时最多推送3条静默消息。详情请参见:APNs Background Notification
IsVoipPush
Integer
选填
为 1 表示是 iOS VoIP 推送,详情请参见:VoIP 推送。如果接收端没有上报 VoIP token,我们会自动降级到普通的 APNs Notification 推送。
LiveActivity
Object
选填
LiveActivity 推送控制参数,具体字段请参见 LiveActivity 字段说明
HarmonyInfo 字段说明
类型
类型
属性
说明
Title
String
选填
该字段用于标识 Harmony 推送的标题,若填写则会覆盖最上层 Title。
Category
String
选填
鸿蒙推送消息分类,用于标识消息类型,详细请参见: category 描述
该字段不为空时,会覆盖控制台推送证书配置的 category 值。
Image
String
选填
通知右侧大图标 URL,URL 使用的协议必须是 HTTPS 协议。
注意:
支持图片格式为 png、jpg、jpeg、heif、gif、bmp,图片长*宽<25000 像素。
Sound
String
选填
自定义消息通知铃声。此处设置的铃声文件必须放在应用的 /resources/rawfile 路径下。例如设置为 alert.mp3,对应应用本地的 /resources/rawfile/alert.mp3 文件。支持的文件格式包括 MP3、WAV、MPEG 等,如果不设置,则用默认系统铃声。
当请求不携带 SoundDuration 字段时,建议铃声时长不超过30秒,若超过30秒则截断处理;当请求携带 SoundDuration 字段时,详情请参见 SoundDuration 字段说明。
注意:
Wearable、TV、PC/2in1不支持自定义铃声。
SoundDuration
Integer
选填
自定义消息通知铃声时长。需要配合 Sound 字段使用,只有当请求同时携带 Sound 字段,SoundDuration 字段才会生效。仅支持数字,单位为秒,取值范围 [1, 60]。
Sound 字段传入的自定义消息通知铃声会播放至 SoundDuration 字段值后停止,若自定义消息通知铃声对应的时长不足 SoundDuration 字段值则会循环播放,在达到 SoundDuration 字段值后停止。
LiveActivity 字段说明
字段
类型
属性
说明
LaId
String
必填
需要推送的实时活动标识,对应客户端 activityID,长度不超过64字节,详情参见实现 LiveActivity (灵动岛) 功能
Event
String
必填
更新填:“update”。
结束填:“end”。
ContentState
JSON Object
必填
自定义的 key:value 的 object。需与客户端 SDK 值匹配。
DismissalDate
Integer
选填
Event 为 “end” 时,锁屏实时活动结束展示的 Unix 时间。不填默认为当前时间,锁屏会马上结束。
注意:
由于 APNs 推送限制数据包大小不能超过4K,因此除去其他控制字段,建议 Desc 和 Ext 字段之和不要超过3K。
如果需要离线推送,强烈建议发送端指定 OfflinePushInfo.Title 和 OfflinePushInfo.Desc。对于单聊/群聊消息,如果没有填写 OfflinePushInfo.Title 和 OfflinePushInfo.Desc,兜底逻辑会尝试从 MsgBody 中进行转换获取 Title 和 Desc 进行离线推送。