配置消息的推送属性
在发送消息时,您可以通过设置消息的 pushOptions
对象,对单条消息的推送行为进行个性化配置。
示例代码
RCIMTextMessage textMessage = engine.createTextMessage(
conversationType,
targetId,
channelId,
text
);
RCIMAndroidPushOptions androidPushOptions = new RCIMAndroidPushOptions();
// 此处可配置 Android 参数
RCIMIOSPushOptions iosPushOptions = new RCIMIOSPushOptions();
// 此处可配置 iOS 参数
RCIMMessagePushOptions pushOptions = new RCIMMessagePushOptions()
pushOptions.disableNotification = false;
pushOptions.pushContent = pushContent;
pushOptions.pushData = pushData;
pushOptions.androidPushOptions = androidPushOptions;
pushOptions.iOSPushOptions = iosPushOptions;
textMessage.pushOptions = pushOptions;
code = engine.sendMessage(message);
pushOptions 属性说明
参数 | 类型 | 说明 |
---|---|---|
disableNotification | bool | 通知栏是否屏蔽通知标题,true 不显示通知标题,false 显示通知标题,默认情况下融云单聊消息通知标题为用户名、群聊消息为群名称,设置后不会再显示通知标题。 |
disablePushTitle | bool | 是否屏蔽通知标题。此属性只针目标用户为 iOS 平台时有效,Android 第三方推送平台的通知标题为必填项,所以暂不支持。 |
pushTitle | string | 推送标题,此处指定的推送标题优先级最高。如不设置,可参考 用户内容类消息格式 中对各内置消息类型默认推送通知标题与推送通知内容的说明。 |
pushContent | string | 推送内容。此处指定的推送内容优先级最高。如不设置,可参考 用户内容类消息格式 中对各内置消息类型默认推送通知标题与推送通知内容的说明。 |
pushData | string | 远程推送附加信息。如不设置,则使用消息发送参数中设置的 pushData 值。 |
forceShowDetailContent | bool | 是否越过目标客户端的配置,强制在推送通知内显示通知内容(pushContnt )。客户端设备可通过 setPushContentShowStatus 设置在接收推送通知时仅显示类似「您收到了一条通知」的提醒。发送消息时,可设置 forceShowDetailContent 为 1 越过该配置,强制目标客户端在此条消息的推送通知中显示推送内容。 |
iOSPushOptions | RCIMIOSPushOptions | iOS 平台推送通知配置。目标端设备为 iOS 平台设备时,适用该配置。详细说明见 iOSPushOptions 属性说明。 |
androidPushOptions | RCIMAndroidPushOptions | Android 平台推送通知配置。目标端设备为 Android 平台设备时,适用该配置。详细说明见 RCIMAndroidPushOptions 属性说明。 |
templateId | string | 推送模板 ID。设置后根据目标用户通过 setPushLanguageCode 设置的语言环境,匹配模板中设置的语言内容进行推送,未匹配成功时使用默认内容进行推送。 模板内容在控制台 > 自定义推送文案中进行设置,具体操作请参见 配置和使用自定义多语言推送模板(./push-template)。 |
voIPPush | bool | 如果对端设备是 iOS,设置 isVoIPPush 为 True,会走 VoIP 通道推送 Push。 |
iOSPushOptions
属性说明
参数 | 类型 | 说明 |
---|---|---|
threadId | string | iOS 平台通知栏分组 ID,相同的 threadId 推 送分为一组(iOS10 开始支持)。 |
category | string | iOS 富文本推送的类型开发者自己定义,自己在 App 端进行解析判断,与 richMediaUri 一起使用,当设置 category 后,推送时默认携带 mutable-content |
apnsCollapseId | string | iOS 平台通知覆盖 ID,apnsCollapseId 相同时,新收到的通知会覆盖老的通知,最大 64 字节(iOS10 开始支持)。 |
richMediaUri | string | iOS 富文本推送内容的 URL,与 category 一起使用。 |
androidPushOptions
属性说明
参数 | 类型 | 说明 |
---|---|---|
notificationId | string | Android 平台 Push 唯一标识,目前支持小米、华为推送平台,默认开发者不需要进行设置,当消息产生推送时,消息的 messageUId 作为 notificationId 使用。 |
channelIdMi | string | 小米的渠道 ID,该条消息针对小米使用的推送渠道,如开发者集成了小米推送,需要指定 channelId 时,可向 Android 端研发人员获取,channelId 由开发者自行创建。 |
channelIdHW | string | 华为的渠道 ID,该条消息针对华为使用的推送渠道,如开发者集成了华为推送,需要指定 channelId 时,可向 Android 端研发人员获取,channelId 由开发者自行创建。 |
channelIdOPPO | string | OPPO 的渠道 ID,该条消息针对 OPPO 使用的推送渠道,如开发者集成了 OPPO 推送,需要指定 channelId 时,可向 Android 端研发人员获取,channelId 由开发者自行创建。 |
pushTypeVIVO | RCIMVIVOPushType | VIVO 推送通道类型 开发者集成了 VIVO 推送,需要指定推送类型时,可进行设置。 |
collapseKeyFCM | string | FCM 推送的通知分组 ID。SDK 5.1.3 及以上版本支持该字段。注意,如使用该字段,请确保控制台的 FCM 推送配置中推送方式为通知消息方式。 |
imageUrlFCM | string | FCM 推送的通知栏右侧图标 URL。如果不设置,则不展示通知栏右侧图标。SDK 5.1.3 及以上版本支持该字段。注意,如使用该字段,请确保控制台的 FCM 推送配置鉴权方式为证书,推送方式为通知消息方式。 |
importanceHW | string | 华为推送消息级别 |
imageUrlHW | string | 华为通知栏消息右侧大图标 URL,如果不设置,则不展示通知栏右侧图标。 |
imageUrlMi | string | 小米 Large icon 链接 |
channelIdFCM | string | FCM 通知的频道 ID,该应用程序必须使用此频道 ID 创建一个频道,然后才能收到带有该频道 ID 的任何通知。 |
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 推送:消息分类功能说明