用户级推送配置
用户级别推送配置是指针对 App 当前登录用户的推送配置。
- 用户级别推送配置区别于 App Key 级别推送配置。App Key 级别的推送配置针对 App 下所有用户。您可以在控制台调整部分 App Key 级别的推送服务配置。
- 用户级别推送配置要求 App Key 已开通用户级别功能设置。如需开通,请提交工单。
设置用户推送语言偏好
为当前登录用户设置推送通知的展示语言偏好。在用户未设置偏好的情况下,使用 App Key 级别的 Push 语言设置。
融云内置消息类型的默认推送内容中含有部分格式文本字符串。例如,默认情况下用户收到单聊会话的文件消息推送时,推送通知内容中将显示简体中文字符串“[文件]”。如果用户将自己的推送语言偏好修改为美国英语 en_US
,则再接收到文件消息时,通知内容中的格式文本字符串将为“[File]”。
上例中的 “[文件]” “[File]” 即格式文本字符串。目前融云服务端为内置消息类型的推送内容提供了格式文本字符串,支持简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
。
接口说明
changePushLanguage(
language: string,
callback: IRCIMIWChangePushLanguageCallback
): Promise<number>;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
language | string | 推送语言, 目前仅支持 en_us、zh_cn、ar_sa |
callback | IRCIMIWChangePushLanguageCallback | 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。 |
目前融云支持的内置推送语言为简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
。App 可以配合使用自定义多语言推送模板功能,可以实现在一条推送通知中支持更多推送语言。
您可以修改 App Key 在融云的默认推送语言配置。如有需要,请提交工单申请更改 App Key 级别的 Push 语言。
调用示例
let callback = {
onPushLanguageChanged:(res) => {
//...
}};
let code = await engine.changePushLanguage(language, callback);
设置成功后,当前用户接收内置消息类型的推送通知时,推送内容中的格式文本字符串会根据对应语种进行调整。
设置用户推送通知详情偏好
在用户未设置偏好的情况下,默认会展示推送通知内容。该功能支持当前登录用户设置自己的推送通知中是否需要展示推送通知的内容详情。
接口说明
changePushContentShowStatus(
showContent: boolean,
callback: IRCIMIWChangePushContentShowStatusCallback
): Promise<number>;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
showContent | boolean | 是否显示远程推送内容 |
callback | IRCIMIWChangePushContentShowStatusCallback | 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。 |
请注意,发送消息时可以指定 forceShowDetailContent
强制越过消息接收者的该项配置,强制显示推送通知内容详情。以下列出了部分平台的配置:
- Android:
Message
的 MessagePushConfig 属性。参见 Android 端「发送消息」文档中的 MessagePushConfig 属性说明。 - iOS:
RCMessage
的 RCMessagePushConfig 属性。参见 iOS 端「APNs 推送开发指南」下的配置消息的推送属性。 - Web:IPushConfig
- IM Server API:若接口提供
forceShowPushContent
参数,则支持该功能。
您也可以修改 App Key 在融云的默认配置。如有需要,请提交工单申请更改 App Key 级别的 推送通知详情。关闭后,所有推送通知均默认不显示推送内容详情。
调用示例
let callback = {
onPushContentShowStatusChanged:(res) => {
//...
}};
let code = await engine.changePushContentShowStatus(showContent, callback);
如果设置为不显示详情,推送通知将显示为格式文本字符串“您收到了一条通知”(该格式文本字符串支持简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
)。
设置用户多端时接收推送偏好
为当前登录用户设置在 Web 端或 PC 端在线时,离线的移动端设备是否需要接收推送通知。请注意,该接口仅在 App Key 已开通 Web/PC 在线手机端接收 Push 服务后可用。
您可以前往控制台的免费基础功能页面修改 App Key 级别配置。
- 如果 App Key 未开通 Web/PC 在线手机端接收 Push,则所有 App 用户在 Web 端或 PC 端在线时,不在线的移动端不会收到推送。不支持 App 用户修改自己的偏好。
- 如果 App Key 已开通 Web/PC 在线手机端接收 Push,当前登录用户可自行关闭或开启该行为。
接口说明
changePushReceiveStatus(
receive: boolean,
callback: IRCIMIWChangePushReceiveStatusCallback
): Promise<number>;
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
receive | boolean | 是否接收 |
callback | IRCIMIWChangePushReceiveStatusCallback | 事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。 |
调用示例
let callback = {
onPushReceiveStatusChanged:(res) => {
//...
}};
let code = await engine.changePushReceiveStatus(receive, callback);