IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
TIMOfflinePushManagerJsonKey


一. 离线推送 API 参数相关的 Json Key 定义


1.1 OfflinePushToken (设置离线推送配置信息)

JSON 键 值类型 属 性 含 义
kTIMOfflinePushTokenToken string 只写(选填) 注册应用到厂商平台的 token。 注意: 填写为设备 Token 的 hex 字符串 (即 base16 编码)
kTIMOfflinePushTokenBusinessID uint32 只写(选填) IM 控制台证书 ID
kTIMOfflinePushTokenType uint TIMOfflinePushTokenType 只写(选填) 厂商 token 类型。 默认为 TIMOfflinePushTokenType_Default。 其中 TIMOfflinePushTokenType_TPNS 为待废弃状态, 如果您之前通过 TPNS 接入离线推送, 并且在 TPNS 控制台配置推送信息, 可以继续按照该方式接入推送功能。 如果您从未接入 TPNS, 从未在 TPNS 控制台配置推送信息, IM 将不在支持 TPNS 方式接入离线推送功能, 推荐参照 官网 接入


1.2 IOSOfflinePushConfigSoundConfig (iOS 离线推送声音设置选项)

JSON 键 值类型 属 性 含 义
kIOSOfflinePushNoSound string 选项 接收时不会播放声音
kIOSOfflinePushDefaultSound string 选项 接收时播放系统声音


1.3 IOSOfflinePushConfig (消息在 iOS 系统上的离线推送配置)

JSON 键 值类型 属 性 含 义
kTIMIOSOfflinePushConfigTitle string 读写 通知标题
kTIMIOSOfflinePushConfigSound string 读写 离线推送声音设置 (仅对 iOS 生效), 可设置的选项请参考 IOSOfflinePushConfigSoundConfig。 当 iOSSound = kIOSOfflinePushNoSound, 表示接收时不会播放声音; 当 iOSSound = kIOSOfflinePushDefaultSound, 表示接收时播放系统声音; 如果要自定义 iOSSound, 需要先把语音文件链接进 Xcode 工程, 然后把语音文件名 (带后缀) 设置给 iOSSound
kTIMIOSOfflinePushConfigIgnoreBadge bool 读写 是否忽略 badge 计数。 若为 true, 在 iOS 接收端, 这条消息不会使 App 的应用图标未读计数增加
kTIMIOSOfflinePushConfigPushType uint TIMIOSOfflinePushType 读写 iOS 离线推送的类型 (仅对 iOS 生效), 默认值是 TIMIOSOfflinePushType_APNS
kTIMIOSOfflinePushConfigImage string 读写 设置 APNs 离线推送的通知图片 url, 借助 iOS 10 Service Extension 特性, 可以下载并展示在弹窗上. url 使用的协议必须是 HTTPS 协议, 取值样例: https: // example. com / image. png
注意
限制说明:
  • 图片: 支持 JPEG 、 GIF 、 PNG, 大小不超过 10 MB
使用说明:
  • 需要在 IM 控制台打开 mutable- content 属性, 支持 iOS 10 Service Extension 特性
  • 获取 iOSImage 资源的 key 值是 " image "


1.4 AndroidOfflinePushConfig (消息在 Android 系统上的离线推送配置)

注意
ChannelID 的说明:
  • Android 8.0 系统以上通知栏消息增加了 channelID 的设置, 目前 oppo 要求必须填写, 否则在 8.0 及以上的 OPPO 手机上会收不到离线推送消息
  • 后续可能会增加 xiaomi_channel_id_, huawei_channel_id 等
JSON 键 值类型 属 性 含 义
kTIMAndroidOfflinePushConfigTitle string 读写 通知标题
kTIMAndroidOfflinePushConfigSound string 读写 离线推送声音设置 (仅对 Android 生效)。 只有华为和谷歌手机支持设置声音提示, 小米手机设置声音提示, 请您参照 官网。 另外, 谷歌手机 FCM 推送在 Android 8.0 及以上系统设置声音提示, 必须调用 setAndroidFCMChannelID 设置好 channelID, 才能生效。 AndroidSound: Android 工程里 raw 目录中的铃声文件名, 不需要后缀名
kTIMAndroidOfflinePushConfigNotifyMode uint TIMAndroidOfflinePushNotifyMode 读写 当前消息的通知模式
kTIMAndroidOfflinePushConfigVIVOClassification uint32 读写 离线推送设置 VIVO 推送消息分类 (待废弃接口, VIVO 推送服务于 2023 年 4 月 3 日优化消息分类规则, 推荐使用 kTIMAndroidOfflinePushConfigVIVOCategory 设置消息类别) , VIVO 手机离线推送消息分类, 0: 运营消息, 1: 系统消息。 默认取值为 1
kTIMAndroidOfflinePushConfigVIVOCategory string 读写 离线推送设置 VIVO 推送消息类别, 详见 官网。 (VIVO 推送服务于 2023 年 4 月 3 日优化消息分类规则, 推荐使用 kTIMAndroidOfflinePushConfigVIVOCategory 设置消息类别, 不需要再关注和设置 kTIMAndroidOfflinePushConfigVIVOClassification)
kTIMAndroidOfflinePushConfigOPPOChannelID string 读写 离线推送设置 OPPO 手机 8.0 系统及以上的渠道 ID (仅对 Android 生效)
kTIMAndroidOfflinePushConfigXiaoMiChannelID string 读写 离线推送设置小米手机 8.0 系统及以上的渠道 ID (仅对 Android 生效)
kTIMAndroidOfflinePushConfigFCMChannelID string 读写 离线推送设置 FCM 通道手机 8.0 系统及以上的渠道 ID (仅对 Android 生效)
kTIMAndroidOfflinePushConfigHuaWeiCategory string 读写 离线推送设置华为推送消息分类, 详见 官网
kTIMAndroidOfflinePushConfigHuaWeiImage string 读写 设置华为设备离线推送的通知图片 url, url 使用的协议必须是 HTTPS 协议, 取值样例: https: // example. com / image. png
注意
string, 读写, 图片文件须小于 512KB, 规格建议为 40dp x 40dp, 弧角大小为 8dp。 超出建议规格的图片会存在图片压缩或图片显示不全的情况。 图片格式建议使用 JPG / JPEG / PNG
kTIMAndroidOfflinePushConfigHonorImage string 读写 设置荣耀设备离线推送的通知图片 url, url 使用的协议必须是 HTTPS 协议, 取值样例: https: // example. com / image. png
注意
图标文件大小须小于 100KB, 图标建议规格大小: 160px x 160px, 弧角大小为 32px, 超出规格大小的图标会存在图片压缩或显示不全的情况
kTIMAndroidOfflinePushConfigFCMImage string 读写 设置 Google FCM 设备离线推送的通知图片 url, 未展开消息时显示为大图标, 展开消息后展示为大图片. url 使用的协议必须是 HTTPS 协议, 取值样例: https: // example. com / image. png
注意
图标文件大小须小于 1 MB, 超出规格大小的图标会存在图片压缩或显示不全的情况


1.5 OfflinePushConfig (消息离线推送配置)

JSON 键 值类型 属 性 含 义
kTIMOfflinePushConfigDesc string 读写 当前消息在对方收到离线推送时候展示内容
kTIMOfflinePushConfigExt string 读写 当前消息离线推送时的扩展字段
kTIMOfflinePushConfigFlag uint TIMOfflinePushFlag 读写 当前消息是否允许推送, 默认允许推送 kTIMOfflinePushFlag_Default
kTIMOfflinePushConfigIOSConfig object IOSOfflinePushConfig 读写 iOS 离线推送配置
kTIMOfflinePushConfigAndroidConfig object AndroidOfflinePushConfig 读写 Android 离线推送配置