配置消息的推送属性
在发送消息时,您可以通过设置消息的 pushOptions
对象,对单条消息的推送行为进行个性化配置。
示例代码
TypeScript
// iOS推送配置
let iOSPushOptions: RCIMIWIOSPushOptions = {};
iOSPushOptions.threadId = 'iOS 平台通知栏分组 ID ';
iOSPushOptions.category = 'iOS 富文本推送的类型开发者自己定义';
iOSPushOptions.apnsCollapseId = 'iOS 平台通知覆盖 ID ';
iOSPushOptions.richMediaUri = 'iOS 富文本推送内容的 URL';
// Android推送配置
let androidPushOptions: RCIMIWAndroidPushOptions = {};
androidPushOptions.notificationId = 'Android 平台 Push 唯一标识';
androidPushOptions.channelIdMi = '小米的渠道 ID';
androidPushOptions.channelIdHW = '华为的渠道 ID';
androidPushOptions.channelIdOPPO = 'OPPO 的渠道 ID。';
androidPushOptions.pushTypeVIVO = RCIMIWVIVOPushType.SYSTEM; // OPERATE: 运营消息
androidPushOptions.collapseKeyFCM = 'FCM 通知类型推送时所使用的分组 id';
androidPushOptions.imageUrlFCM = '华为推送消息级别';
androidPushOptions.importanceHW = '华为通知栏消息右侧大图标 URL';
androidPushOptions.imageUrlHW = '华为通知栏消息右侧大图标 URL';
androidPushOptions.imageUrlMi = '小米 Large icon 链接';
androidPushOptions.channelIdFCM = 'FCM 通知的频道 ID';
// 消息推送配置
let pushOptions: RCIMIWMessagePushOptions = {};
pushOptions.disableNotification = true;
pushOptions.disablePushTitle = true;
pushOptions.pushTitle = '推送标题';
pushOptions.pushContent = '推送内容';
pushOptions.pushData = '远程推送附加信息';
pushOptions.forceShowDetailContent = true;
pushOptions.templateId = '推送模板 ID';
pushOptions.voIPPush = false;
pushOptions.iOSPushOptions = iOSPushOptions;
pushOptions.androidPushOptions = androidPushOptions;
// 创建文本消息体对象
let message = {
conversationType: RCIMIWConversationType.PRIVATE,
messageType: RCIMIWMessageType.TEXT,
targetId: 'xxx',
pushOptions: pushOptions
}
// 发送消息
engine.sendMessage(message);
pushOptions 属性说明
属性名 | 类型 | 说明 |
---|---|---|
disableNotification | boolean | 是否发送通知 |
disablePushTitle | boolean | 通知栏是否屏蔽通知标题 true 不显示通知标题,false 显示通知标题 默认情况下融云单聊消息通知标题为用户名、群聊消息为群名称,设置后不会再显示通知标题。 此属性只针目标用户为iOS 平台时有效,Android 第三方推送平台的通知标题为必填项,所以暂不支持。 |
pushTitle | string | 推送标题 默认标题显示规则:内置消息:单聊通知标题显示为发送者名称,群聊通知标题显示为群名称。 自定义消息:默认不显示标题。 |
pushContent | string | 推送内容。 |
pushData | string | 远程推送附加信息. |
forceShowDetailContent | boolean | 是否强制显示通知详情。 当目标用户设置推送不显示消息详情时, 可通过此功能,强制设置该条消息显示推送详情。 |
templateId | string | 推送模板 ID 设置后根据目标用户通过 setPushLanguageCode 设置的语言环境,匹配模板中设置的语言内容进行推送 未匹配成功时使用默认内容进行推送,模板内容在“开发者后台-自定义推送文案”中进行设置 注:RCMessagePushConfig 中的 Title 和 PushContent 优先级高于模板 ID(templateId)中对应的标题和推送内容 |
voIPPush | boolean | 如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push。 |
iOSPushOptions | RCIMIWIOSPushOptions | iOS 平台相关配置 |
androidPushOptions | RCIMIWAndroidPushOptions | Android 平台相关配置 |
iOSPushOptions
属性说明
属性名 | 类型 | 说明 |
---|---|---|
threadId | string | iOS 平台通知栏分组 ID 相同的 thread-id 推送分为一组 iOS10 开始支持 |
category | string | iOS 富文本推送的类型开发者自己定义,自己在 App 端进行解析判断,与 richMediaUri 一起使用,当设置 category 后,推送时默认携带 mutable-content 进行推送,属性值为 1。 如果不设置后台默认取消息类型字符串,如RC:TxtMsg |
apnsCollapseId | string | iOS 平台通知覆盖 ID apnsCollapseId 相同时,新收到的通知会覆盖老的通知,最大 64 字节 iOS10 开始支持 |
richMediaUri | string | iOS 富文本推送内容的 URL,与 category 一起使用。 |
androidPushOptions
属性说明
属性名 | 类型 | 说明 |
---|---|---|
notificationId | string | Android 平台 Push 唯一标识。 目前支持小米、华为推送平台,默认开发者不需要进行设置。 当消息产生推送时,消息的 messageUId 作为 notificationId 使用。 |
channelIdMi | string | 小米的渠道 ID 该条消息针对小米使用的推送渠道。 |
channelIdHW | string | 华为的渠道 ID 该条消息针对华为使用的推送渠道,如开发者集成了华为推送,需要指定 channelId 时,可向 Android 端研发人员获取,channelId 由开发者自行创建。 |
categoryHW | string | |
channelIdOPPO | string | OPPO 的渠道 ID。 该条消息针对 OPPO 使用的推送渠道,如开发者集成了 OPPO 推送,需要指定 channelId 时,可向 Android 端研发人员获取,channelId 由开发者自行创建。 |
pushTypeVIVO | RCIMIWVIVOPushType | VIVO 推送通道类型 开发者集成了 VIVO 推送,需要指定推送类型时,可进行设置。 |
collapseKeyFCM | string | FCM 通知类型推送时所使用的分组 id |
imageUrlFCM | string | FCM 通知类型的推送所使用的通知图片 url |
importanceHW | RCIMIWImportanceHW | 华为推送消息级别 |
imageUrlHW | string | 华为通知栏消息右侧大图标 URL,如果不设置,则不展示通知栏右侧图标。 URL使用的协议必须是HTTPS协议,取值样例:https://example.com/image.png。图标文件须小于 512KB,图标建议规格大小:40dp x 40dp,弧角大小为 8dp,超出建议规格大小的图标会存在图片压缩或显示不全的情况。 |
imageUrlMi | string | (由于小米官方已停止支持该能力,该字段已失效)小米通知类型的推送所使用的通知图片 url。图片要求:大小120 * 120px,格式为 png 或者 jpg 格式。 此属性 5.1.7 及以上版本支持。支持 MIUI 国内版(国内版要求为 MIUI 12 及以上)和国际版。 |
channelIdFCM | string | FCM 通知的频道 ID,该应用程序必须使用此频道 ID 创建一个频道,然后才能收到带有该频道 ID 的任何通知。 如果您未在请求中发送此频道 ID,或者如果应用尚未创建提供的频道 ID,则 FCM 使用应用清单中指定的频道 ID。 |
categoryVivo | string | |
importanceHonor | RCIMIWImportanceHonor | 荣耀推送消息级别 |
imageUrlHonor | string | 荣耀通知栏消息右侧大图标 URL,如果不设置,则不展示通知栏右侧图标。 URL使用的协议必须是HTTPS协议,取值样例:https://example.com/image.png。图标文件须小于 512KB,图标建议规格大小:40dp x 40dp,弧角大小为 8dp,超出建议规格大小的图标会存在图片压缩或显示不全的情况。 |
Channel ID 需要由开发者进行创建,创建方式如下:
推送通道 | 配置说明 |
---|---|
华为 | App 端,调用 Android SDK 创建 Channel ID 接口,创建 Channel ID。 |
小米 | 在小米开放平台管理台上创建 Channel ID 或通过小米服务端 API 创建。 |
OPPO | App 端,调用 Android SDK 创建 Channel ID;在 OPPO 管理台登记该 Channel ID,保持一致性。 |
vivo | 调用服务端 API 创建 Channel ID。 |
外部链接
您可以通过以下链接了解更多与 Channel ID 相关的信息:
- 小米推送:小米推送消息分类新规
- 华为推送:自定义通知渠道
- OPPO 推送:推送私信通道申请
- vivo 推送:消息分类功能说明