腾讯云即时通信IM消息格式描述_AI解决方案_同尘科技
消息内容 MsgBody 说明
MsgBody 中所填写字段是消息内容。即时通信 IM 支持一条消息中包括多种消息元素类别,例如一条消息中既包括文本消息元素,还包括表情消息元素。因此 MsgBody 定义为 Array 格式,可按照需求加入多类消息元素。消息元素名称为 TIMMsgElement,消息元素 TIMMsgElement 组成 MsgBody 的示例请参见 消息内容 MsgBody 实例。消息元素 TIMMsgElement 的格式统一为:
{ "MsgType": "", "MsgContent": {}}
字段 | 类型 | 说明 |
MsgType | String | 消息元素类别;目前支持的消息对象包括:TIMTextElem(文本消息),TIMLocationElem(位置消息),TIMFaceElem(表情消息),TIMCustomElem(自定义消息),TIMSoundElem(语音消息),TIMImageElem(图像消息),TIMFileElem(文件消息),TIMVideoFileElem(视频消息)。 |
MsgContent | Object | 消息元素的内容,不同的 MsgType 有不同的 MsgContent 格式,具体参见下文。 |
目前支持消息类别 MsgType 见下表:
MsgType的值 | 类型 |
TIMTextElem | 文本消息。 |
TIMLocationElem | 地理位置消息。 |
TIMFaceElem | 表情消息。 |
TIMCustomElem | 自定义消息,当接收方为 iOS 系统且应用处在后台时,此消息类型可携带除文本以外的字段到 APNs。一条组合消息中只能包含一个 TIMCustomElem 自定义消息元素。 |
TIMSoundElem | 语音消息。 |
TIMImageElem | 图像消息。 |
TIMFileElem | 文件消息。 |
TIMVideoFileElem | 视频消息。 |
TIMRelayElem | 合并转发消息。 |
注意上述类型的消息均能通过服务端集成的 Rest API 接口发送。
消息元素 TIMMsgElement
文本消息元素
{ "MsgType": "TIMTextElem", "MsgContent": { "Text": "hello world" }}
字段 | 类型 | 说明 |
Text | String | 消息内容。当接收方为 iOS 或 Android 后台在线时,作为离线推送的文本展示。 |
说明:当接收方为 iOS 或 Android,且应用处在后台时,JSON 请求包体中的 Text 字段作为离线推送的文本展示。
地理位置消息元素
{ "MsgType": "TIMLocationElem", "MsgContent": { "Desc": "someinfo", "Latitude": 29.340656774469956, "Longitude": 116.77497920478824 }}
字段 | 类型 | 说明 |
Desc | String | 地理位置描述信息。 |
Latitude | Number | 纬度。 |
Longitude | Number | 经度。 |
当接收方为 iOS 或 Android,且应用处在后台时,中文版离线推送文本为“[位置]”,英文版离线推送文本为“[Location]”。
表情消息元素
{ "MsgType": "TIMFaceElem", "MsgContent": { "Index": 1, "Data": "content" }}
字段 | 类型 | 说明 |
Index | Number | 表情索引,用户自定义。 |
Data | String | 额外数据。 |
当接收方为 iOS 或 Android,且应用处在后台时,中文版离线推送文本为“[表情]”,英文版离线推送文本为“[Face]”。说明当消息中只有一个 TIMCustomElem 自定义消息元素时,如果 Desc 字段和 OfflinePushInfo.Desc 字段都不填写,将收不到该条消息的离线推送,需要填写 OfflinePushInfo.Desc 字段才能收到该消息的离线推送。
自定义消息元素
{ "MsgType": "TIMCustomElem", "MsgContent": { "Data": "message", "Desc": "notification", "Ext": "url", "Sound": "dingdong.aiff" }}
字段 | 类型 | 说明 |
Data | String | 自定义消息数据。 不作为 APNs 的 payload 字段下发,故从 payload 中无法获取 Data 字段。 |
Desc | String | 自定义消息描述信息。当接收方为 iOS 或 Android 后台在线时,做离线推送文本展示。若发送自定义消息的同时设置了OfflinePushInfo.Desc字段,此字段会被覆盖,请优先填 OfflinePushInfo.Desc 字段。说明:当消息中只有一个 TIMCustomElem 自定义消息元素时,如果 Desc 字段和 OfflinePushInfo.Desc 字段都不填写,将收不到该条消息的离线推送,需要填写 OfflinePushInfo.Desc 字段才能收到该消息的离线推送。 |
Ext | String | 扩展字段。当接收方为 iOS 系统且应用处在后台时,此字段作为 APNs 请求包 Payloads 中的 Ext 键值下发,Ext 的协议格式由业务方确定,APNs 只做透传。 |
Sound | String | 自定义 APNs 推送铃音。 |
当接收方为 iOS 系统且应用处在后台时,Desc 作为推送文本, Ext 字段作为 APNS 请求包 Payloads 中的 ext 键值下发, Data 字段不作为 APNs 的 Payloads 字段下发。注意,一条组合消息中只能包含一个 TIMCustomElem 自定义消息元素。
语音消息元素
注意通过服务端集成的 Rest API 接口发送语音消息时,必须填入语音的 Url、UUID、Download_Flag 字段。需保证通过 Url 能下载到对应语音。UUID 字段需填写全局唯一的 String 值,一般填入语音文件的 MD5 值。消息接收者可以通过 V2TIMSoundElem.getUUID() 拿到设置的 UUID 字段,业务 App 可以用这个字段做语音的区分。Download_Flag 字段必须填2。4.X 及以上版本 IM SDK(Android、iOS、Mac 以及 Windows)发出的语音消息元素的格式如下:
{ "MsgType": "TIMSoundElem", "MsgContent": { "Url": "https://1234-5678187359-1253735226.cos.ap-shanghai.myqcloud.com/abc123/c9be9d32c05bfb77b3edafa4312c6c7d", "UUID": "1053D4B3D61040894AC3DE44CDF28B3EC7EB7C0F", "Size": 62351, "Second": 1, "Download_Flag": 2 }}
字段 | 类型 | 说明 |
Url | String | 语音下载地址,可通过该 URL 地址直接下载相应语音。 |
UUID | String | 语音的唯一标识,客户端用于索引语音的键值。 |
Size | Number | 语音数据大小,单位:字节。 |
Second | Number | 语音时长,单位:秒。 |
Download_Flag | Number | 语音下载方式标记。目前 Download_Flag 取值只能为2,表示可通过Url 字段值的 URL 地址直接下载语音。 |
说明2.X和3.X版本 IM SDK(Android、iOS、Mac 以及 Windows)发出的语音消息元素如下:
{ "MsgType": "TIMSoundElem", "MsgContent": { "UUID": "305c0201", //语音的唯一标识,类型为 String。客户端用于索引语音的键值。无法通过该字段下载相应的语音。若需要获取该语音,请升级 IM SDK 版本至4.X。 "Size": 62351, //语音数据大小,类型为 Number,单位:字节。 "Second": 1 //语音时长,类型为 Number,单位:秒。 }}
图像消息元素
注意通过服务端集成的 Rest API 接口发送图像消息时,必须填入图像的以下字段:URL、UUID、Width、Height。需保证通过 URL 能下载到对应图像。可据此 获取图片基本信息 并 处理图片。Width 和 Height 分别为图片的宽度和高度,单位为像素。UUID 字段需填写全局唯一的 String 值,一般填入图片的 MD5 值。消息接收者通过调用 V2TIMImageElem.getImageList() 拿到 V2TIMImage 对象,然后通过调用V2TIMImage.getUUID() 拿到设置的 UUID 字段,业务 App 可以用这个字段做图片的区分。
{ "MsgType": "TIMImageElem", "MsgContent": { "UUID": "1853095_D61040894AC3DE44CDFFFB3EC7EB720F", "ImageFormat": 1, "ImageInfoArray": [ { "Type": 1, //原图 "Size": 1853095, "Width": 2448, "Height": 3264, "URL": "http://xxx/3200490432214177468_144115198371610486_D61040894AC3DE44CDFFFB3EC7EB720F/0" }, { "Type": 2, //大图 "Size": 2565240, "Width": 0, "Height": 0, "URL": "http://xxx/3200490432214177468_144115198371610486_D61040894AC3DE44CDFFFB3EC7EB720F/720" }, { "Type": 3, //缩略图 "Size": 12535, "Width": 0, "Height": 0, "URL": "http://xxx/3200490432214177468_144115198371610486_D61040894AC3DE44CDFFFB3EC7EB720F/198" } ] }}
字段 | 类型 | 说明 |
UUID | String | 图片的唯一标识,客户端用于索引图片的键值。 |
ImageFormat | Number | 图片格式。JPG = 1GIF = 2PNG = 3BMP = 4其他 = 255 |
ImageInfoArray | Array | 原图、缩略图或者大图下载信息。 |
Type | Number | 图片类型:1-原图2-大图3-缩略图 |
Size | Number | 图片数据大小,单位:字节。 |
Width | Number | 图片宽度,单位为像素。 |
Height | Number | 图片高度,单位为像素。 |
URL | String | 图片下载地址。 |
文件消息元素
注意通过服务端集成的 Rest API 接口发送文件消息时,需要填入文件的 Url、UUID、Download_Flag 字段。需保证通过该 Url 能下载到对应文件。UUID 字段需填写全局唯一的 String 值,一般填入文件的 MD5 值。消息接收者可以通过调用 V2TIMFileElem.getUUID() 拿到设置的 UUID 字段,业务 App 可以用这个字段做文件的区分。Download_Flag字段必须填2。4.X 及以上版本 IM SDK(Android、iOS、Mac 以及 Windows)发出的文件消息元素的格式如下:
{ "MsgType": "TIMFileElem", "MsgContent": { "Url": "https://7492-5678539059-1253735326.cos.ap-shanghai.myqcloud.com/abc123/49be9d32c0fbfba7b31dafa4312c6c7d", "UUID": "1053D4B3D61040894AC3DE44CDF28B3EC7EB7C0F", "FileSize": 1773552, "FileName": "file:///private/var/Application/tmp/trim.B75D5F9B-1426-4913-8845-90DD46797FCD.MOV", "Download_Flag": 2 }}
字段 | 类型 | 说明 |
Url | String | 文件下载地址,可通过该 URL 地址直接下载相应文件。 |
UUID | String | 文件的唯一标识,客户端用于索引文件的键值。 |
FileSize | Number | 文件数据大小,单位:字节。 |
FileName | String | 文件名称。 |
Download_Flag | Number | 文件下载方式标记。目前 Download_Flag 取值只能为2,表示可通过Url 字段值的 URL 地址直接下载文件。 |
说明2.X和3.X版本 IM SDK(Android、iOS、Mac 以及 Windows)发出的文件消息元素如下:
{ "MsgType": "TIMFileElem", "MsgContent": { "UUID": "305c02010", //文件的唯一标识,类型为 String。客户端用于索引文件的键值。无法通过该字段下载相应的文件。若需要获取该文件,请升级 IM SDK 版本至4.X。 "FileSize": 1773552, //文件数据大小,类型为 Number,单位:字节。 "FileName": "file:///private/var/Application/tmp/trim.B75D5F9B-1426-4913-8845-90DD46797FCD.MOV" //文件名称,类型为 String。 }}
视频消息元素
注意:通过服务端集成的 Rest API 接口发送视频消息时,必须填入 VideoUrl、VideoUUID、ThumbUrl、ThumbUUID、ThumbWidth、ThumbHeight、VideoDownloadFlag 和 ThumbDownloadFlag字段。需保证通过 VideoUrl 能下载到对应视频,通过 ThumbUrl 能下载到对应的视频缩略图。VideoUUID 和 ThumbUUID 字段需填写全局唯一的 String 值,一般填入对应视频和视频缩略图的 MD5 值。消息接收者可以通过调用 V2TIMVideoElem.getVideoUUID() 和 V2TIMVideoElem.getSnapshotUUID() 分别拿到设置的 UUID 字段,业务 App 可以用这个字段做视频的区分。VideoDownloadFlag 和 ThumbDownloadFlag 字段必须填2。4.X 及以上版本 IM SDK(Android、iOS、Mac 以及 Windows)发出的视频消息元素的格式如下:
{ "MsgType": "TIMVideoFileElem", "MsgContent": { "VideoUrl": "https://0345-1400187352-1256635546.cos.ap-shanghai.myqcloud.com/abcd/f7c6ad3c50af7d83e23efe0a208b90c9", "VideoUUID": "5da38ba89d6521011e1f6f3fd6692e35", "VideoSize": 1194603, "VideoSecond": 5, "VideoFormat": "mp4", "VideoDownloadFlag":2, "ThumbUrl": "https://0345-1400187352-1256635546.cos.ap-shanghai.myqcloud.com/abcd/a6c170c9c599280cb06e0523d7a1f37b", "ThumbUUID": "6edaffedef5150684510cf97957b7bc8", "ThumbSize": 13907, "ThumbWidth": 720, "ThumbHeight": 1280, "ThumbFormat": "JPG", "ThumbDownloadFlag":2 }}
字段 | 类型 | 说明 |
VideoUrl | String | 视频下载地址。可通过该 URL 地址直接下载相应视频。 |
VideoUUID | String | 视频的唯一标识,客户端用于索引视频的键值。 |
VideoSize | Number | 视频数据大小,单位:字节。 |
VideoSecond | Number | 视频时长,单位:秒。Web 端不支持获取视频时长,值为0。 |
VideoFormat | String | 视频格式,例如 mp4。 |
VideoDownloadFlag | Number | 视频下载方式标记。目前 VideoDownloadFlag 取值只能为2,表示可通过 VideoUrl 字段值的 URL 地址直接下载视频。 |
ThumbUrl | String | 视频缩略图下载地址。可通过该 URL 地址直接下载相应视频缩略图。 |
ThumbUUID | String | 视频缩略图的唯一标识,客户端用于索引视频缩略图的键值。 |
ThumbSize | Number | 缩略图大小,单位:字节。 |
ThumbWidth | Number | 缩略图宽度,单位为像素。 |
ThumbHeight | Number | 缩略图高度,单位为像素。 |
ThumbFormat | String | 缩略图格式,例如 JPG、BMP 等。 |
ThumbDownloadFlag | Number | 视频缩略图下载方式标记。目前 ThumbDownloadFlag 取值只能为2,表示可通过 ThumbUrl 字段值的 URL 地址直接下载视频缩略图。 |
说明:2.X和3.X版本 IM SDK(Android、iOS、Mac 以及 Windows)发出的视频消息元素如下:
{ "MsgType": "TIMVideoFileElem", "MsgContent": { "VideoUUID": "1400123456_dramon_34ca36be7dd214dc50a49238ef80a6b5",//视频的唯一标识,类型为 String。客户端用于索引视频的键值。无法通过该字段下载相应的视频。若需要获取该视频,请升级 IM SDK 版本至4.X。 "VideoSize": 1194603, //视频数据大小,类型为 Number,单位:字节。 "VideoSecond": 5, //视频时长,类型为 Number,单位:秒。 "VideoFormat": "mp4", //视频格式,类型为 String,例如 mp4。 "ThumbUUID": "1400123456_dramon_893f5a7a4872676ae142c08acd49c18a",//视频缩略图的唯一标识,类型为 String。客户端用于索引视频缩略图的键值。无法通过该字段下载相应的视频缩略图。若需要获取该视频缩略图,请升级 IM SDK 版本至4.X。 "ThumbSize": 13907, //缩略图大小,类型为 Number,单位:字节。 "ThumbWidth": 720, //缩略图宽度。类型为 Number。 "ThumbHeight": 1280, //缩略图高度。类型为 Number。 "ThumbFormat": "JPG" //缩略图格式,类型为 String,例如 JPG、BMP 等。 }}
合并转发消息元素
注意终端 5.2.210 及以上版本,web & 小程序 & uni-app 2.10.1 及以上版本才支持收发合并转发消息。
{ "MsgType": "TIMRelayElem", "MsgContent": { "Title": "群聊的聊天记录", "MsgNum": 2, "CompatibleText": "该SDK版本不支持合并转发消息,请升级到新版本。", "AbstractList": [ "A:大家觉得这个怎么样?", "B:我觉得挺好的" ], "MsgList": [ { "From_Account": "A", "GroupId": "group1", "MsgSeq": 85, "MsgRandom": 3998651049, "MsgTimeStamp": 1664437702, "MsgBody": [ { "MsgContent": { "Text": "大家觉得这个怎么样?" }, "MsgType": "TIMTextElem" } ] }, { "From_Account": "B", "GroupId": "group1", "MsgSeq": 86, "MsgRandom": 965790, "MsgTimeStamp": 1664437703, "MsgBody": [ { "MsgContent": { "Text": "我觉得挺好的" }, "MsgType": "TIMTextElem" } ] } ] }}
字段 | 类型 | 说明 |
Title | String | 合并转发消息的标题。 |
MsgNum | Integer | 被转发的消息条数。 |
CompatibleText | String | 兼容文本。当不支持合并转发消息的老版本 SDK 收到此类消息时,IM 后台会将该消息转化成兼容文本再下发。 |
AbstractList | Array | 合并消息的摘要列表,是一个 String 数组。 |
MsgList | Array | 消息列表。当被转发的消息长度之和小于等于12K时才会有此字段,此时不会有 JsonMsgKey 字段。 |
JsonMsgKey | String | 合并转发的消息列表 Key。当被转发的消息长度之和大于12K时才会有此字段,此时不会有 MsgList 字段。 |
MsgList 中每条消息的结构如下:
字段 | 类型 | 说明 |
From_Account | String | 消息发送方 UserID。被转发的消息为单聊或群聊时都有此字段。 |
To_Account | String | 消息接收方 UserID。被转发的消息为单聊才有此字段。 |
GroupId | String | 群 ID。被转发的消息为群聊才有此字段。 |
MsgSeq | Integer | 消息序列号(32位无符号整数)。 |
MsgRandom | Integer | 消息随机数(32位无符号整数)。 |
MsgTimeStamp | Integer | 消息的秒级时间戳。 |
MsgBody | Array | 消息内容,具体格式请参考 消息格式描述(注意,一条消息可包括多种消息元素,MsgBody 为 Array 类型)。 |
CloudCustomData | String | 消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)。 |
MsgBody 消息内容实例
单一文本元素消息
单条消息中只包括一个中文本消息元素,文本内容为 hello world。
{ "MsgBody": [ { "MsgType": "TIMTextElem", "MsgContent": { "Text": "hello world" } } ]}
组合消息
下述的单条消息中包括两个文本消息元素和一个表情元素,消息元素顺序是文本+表情+文本。
{ "MsgBody": [ { "MsgType": "TIMTextElem", "MsgContent": { "Text": "hello" } }, { "MsgType": "TIMFaceElem", "MsgContent": { "Index": 1, "Data": "content" } }, { "MsgType": "TIMTextElem", "MsgContent": { "Text": "world" } } ]}
注意一条组合消息中只能带一个 TIMCustomElem 自定义消息元素, 其它消息元素数量无限制。
消息自定义数据 CloudCustomData 说明
每条消息可以携带自定义数据 CloudCustomData。CloudCustomData 会跟该条消息的 MsgBody 一起保存在云端,CloudCustomData 会发送到对端,程序卸载重装后还能拉取到。CloudCustomData 与 MsgBody 的格式示例如下:
{ "MsgBody": [ { "MsgType": "TIMTextElem", "MsgContent": { "Text": "hello" } } ], "CloudCustomData": "your cloud custom data"}
Apple Push Notification Service(APNs)相关说明
客户端推送展示格式说明
未设置账号昵称
如果账号没有设置昵称,APNs 推送只展示推送文本内容。单聊消息只展示“推送文本”,群组消息展示“(群名称):推送文本“。
已设置账号昵称
如果账号设置昵称,单聊消息展示格式为“昵称:推送文本内容”,群组消息展示格式为昵称(群名称):推送文本内容。
组合消息展示格式
对于组合消息,按顺序叠加各个消息元素的推送文本作为展示文本。下述为已设置账户昵称的单聊消息,推送文本为”helloworld”。注意 helloworld 中间没有空格,后台按照顺序叠加,各个消息元素推送文本之间不添加任何字符。如需要在各个不同的消息元素间添加空格或其他字符,需调用方自己控制。
{ "MsgBody": [ { "MsgType": "TIMTextElem", "MsgContent": { "Text": "hello" } }, { "MsgType": "TIMCustomElem", "MsgContent": { "Data": "message", "Desc": "world", "Ext": "https://www.example.com", "Sound": "dingdong.aiff" } } ] }
各类消息元素推送文本字段汇总。
MsgType 的值 | 类型 | 消息元素推送文本 |
TIMTextElem | 文本消息。 | Text 字段。 |
TIMLocationElem | 地理位置消息。 | 中文版离线推送文本为“[位置]”;英文版为“[Location]”。 |
TIMFaceElem | 表情消息。 | 中文版离线推送文本为“[表情]”;英文版为“[Face]”。 |
TIMCustomElem | 自定义消息。 | Desc 字段。 |
昵称和群名称 REST API 设置接口
设置账号昵称 REST API 接口:设置资料。
设置群名称 REST API 接口:修改群组基础资料。
高级应用
自定义推送声音,APNs 下发扩展字段.
利用自定义消息元素 TIMCustomElem,Sound 填写自定义声音文件名称, Ext 填写下发的扩展字段,请求扩展字段可以从 APNs 推送 PayLoad 中的 Ext 字段获取。
{ "To_Account": "lumotuwe5", "MsgRandom": 121212, "MsgBody": [ { "MsgType": "TIMCustomElem", "MsgContent": { "Data": "other information", "Desc": "hello", "Ext": "www.qq.com", "Sound": "dingdong.aiff" } }, { "MsgType": "TIMTextElem", "MsgContent": { "Text": "world" } } ]}
客户端收到 APNs 推送 JSON Payload 为:
{ "aps": { "alert": "Nickname:helloworld", //各个消息元素推送文本顺序叠加 "badge": 5, "sound": "dingdong.aiff" //对应 TIMCustomElem 中 Sound 字段 }, "ext": "www.qq.com" //对应 TIMCustomElem 中 Ext 字段}
离线推送 OfflinePushInfo 说明
OfflinePushInfo 是专用于离线推送配置的 JSON 对象,允许配置该条消息是否关闭推送、推送文本描述内容、推送透传字符串等。使用 OfflinePushInfo 可以方便地设置离线推送信息,无需再通过 TIMCustomElem 封装实现。注意如果填写了 OfflinePushInfo,那么 TIMCustomElem 中与离线推送有关的信息配置会被忽略。目前 OfflinePushInfo 适用于 APNs 推送,以及 Android 厂商推送(小米、华为、魅族、OPPO 和 vivo 推送)。OfflinePushInfo 的格式示例如下:
{ // ... "MsgBody": [...] // 这里同 MsgBody 相关描述 "OfflinePushInfo": { "PushFlag": 0, "Title":"这是推送标题", "Desc": "这是离线推送内容", "Ext": "这是透传的内容", "AndroidInfo": { "Sound": "android.mp3", "OPPOChannelID": "test_OPPO_channel_id", "VIVOClassification": 1 }, "ApnsInfo": { "Sound": "apns.mp3", "BadgeMode": 1, "Title":"apns title", "SubTitle":"apns subtitle", "Image":"www.image.com", "MutableContent": 1 } }}
字段说明如下:
字段 | 类型 | 属性 | 说明 |
PushFlag | Integer | 选填 | 0:表示推送1:表示不离线推送 |
Title | String | 选填 | 离线推送标题。该字段为 iOS 和 Android 共用。 |
Desc | String | 选填 | 离线推送内容。该字段会覆盖上面各种消息元素 TIMMsgElement 的离线推送展示文本。若发送的消息只有一个 TIMCustomElem 自定义消息元素,该 Desc 字段会覆盖 TIMCustomElem 中的 Desc 字段。如果两个 Desc 字段都不填,将收不到该自定义消息的离线推送。 |
Ext | String | 选填 | 离线推送透传内容。由于国内各 Android 手机厂商的推送平台要求各不一样,请保证此字段为 JSON 格式,否则可能会导致收不到某些厂商的离线推送。 |
AndroidInfo.Sound | String | 选填 | Android 离线推送声音文件路径。 |
AndroidInfo.PushStyle | Integer | 选填 | Android通知栏样式,“0”代表默认样式,“1”代表大文本样式,不填默认为0。仅对 华为/荣耀/OPPO生效。 |
AndroidInfo.HuaWeiChannelID | String | 选填 | 华为手机 EMUI 10.0 及以上的通知渠道字段。该字段不为空时,会覆盖控制台配置的 ChannelID 值;该字段为空时,不会覆盖控制台配置的 ChannelID 值。 |
AndroidInfo.XiaoMiChannelID | String | 选填 | 小米手机 MIUI 10 及以上的通知类别(Channel)适配字段。该字段不为空时,会覆盖控制台配置的 ChannelID 值;该字段为空时,不会覆盖控制台配置的 ChannelID 值。 |
AndroidInfo.OPPOChannelID | String | 选填 | OPPO 手机 Android 8.0 及以上的 NotificationChannel 通知适配字段。该字段不为空时,会覆盖控制台配置的 ChannelID 值;该字段为空时,不会覆盖控制台配置的 ChannelID 值。 |
AndroidInfo.GoogleChannelID | String | 选填 | Google 手机 Android 8.0 及以上的通知渠道字段。Google 推送新接口(上传证书文件)支持 channel id,旧接口(填写服务器密钥)不支持。 |
AndroidInfo.VIVOClassification | Integer | 选填 | VIVO 手机推送消息分类,“0”代表运营消息,“1”代表系统消息,不填默认为1。(VIVO 推送服务于 2023 年 4 月 3 日优化消息分类规则,推荐使用 AndroidInfo.VIVOCategory 设置消息类别) |
AndroidInfo.VIVOCategory | String | 选填 | VIVO 手机用来标识消息类型,该字段不为空时,会覆盖控制台配置的 category 值;该字段为空时,不会覆盖控制台配置的 category 值。详见 category 描述 。 |
AndroidInfo.HuaWeiImportance | String | 选填 | 华为推送通知消息分类,取值为 LOW、NORMAL,不填默认为 NORMAL。 |
AndroidInfo.ExtAsHuaweiIntentParam | Integer | 选填 | 在控制台配置华为推送为“打开应用内指定页面”的前提下,传“1”表示将透传内容 Ext 作为 Intent 的参数,“0”表示将透传内容 Ext 作为 Action 参数。不填默认为0。两种传参区别可参见 华为推送文档。 |
AndroidInfo.HuaWeiCategory | String | 选填 | 华为手机用来标识消息类型,该字段不为空时,会覆盖控制台配置的 category 值;该字段为空时,不会覆盖控制台配置的 category 值。详见 category 描述。 |
AndroidInfo.HuaWeiImage | String | 选填 | 华为推送通知栏消息右侧小图标URL,URL必须使用HTTPS协议,取值样例:https://example.com/image.png 。图片文件须小于512KB,规格建议为40dp x 40dp,弧角大小为8dp。超出建议规格的图片会存在图片压缩或图片显示不全的情况。图片格式建议使用JPG/JPEG/PNG。 |
AndroidInfo.HonorImage | String | 选填 | 荣耀推送通知栏消息右侧小图标 URL,URL 必须使用 HTTPS 协议,取值样例:https://example.com/image.png 。 图标文件须小于512KB,图标建议规格大小:40dp x 40dp,弧角大小为8dp,超出建议规格大小的图标会存在图片压缩或显示不全的情况。 |
AndroidInfo.HonorImportance | String | 选填 | 荣耀推送通知消息分类,取值为 LOW、NORMAL,不填默认为 NORMAL。 |
AndroidInfo.GoogleImage | String | 选填 | Google 推送通知栏消息右侧图标URL,图片资源不超过1M,支持JPG/JPEG/PNG格式,取值样例:https://example.com/image.png 。 |
ApnsInfo.BadgeMode | Integer | 选填 | 这个字段缺省或者为0表示需要计数,为1表示本条消息不需要计数,即右上角图标数字不增加。 |
ApnsInfo.Title | String | 选填 | 该字段用于标识 APNs 推送的标题,若填写则会覆盖最上层 Title。 |
ApnsInfo.SubTitle | String | 选填 | 该字段用于标识 APNs 推送的子标题。 |
ApnsInfo.Image | String | 选填 | 该字段用于标识 APNs 携带的图片地址,当客户端拿到该字段时,可以通过下载图片资源的方式将图片展示在弹窗上。 |
ApnsInfo.MutableContent | Integer | 选填 | 为1表示开启 iOS 10+ 的推送扩展,默认为0。 |
注意由于 APNs 推送限制数据包大小不能超过4K,因此除去其他控制字段,建议 Desc 和 Ext 字段之和不要超过3K。
参考
Apple Push Notification Service(APNs) 苹果推送开发文档。
iOS 离线消息推送配置:离线推送(iOS)。
对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?