用户级推送配置
用户级别推送配置是指针对 App 当前登录用户的推送配置。
- 用户级别推送配置区别于 App Key 级别推送配置。App Key 级别的推送配置针对 App 下所有用户。您可以在融云控制台调整部分 App Key 级别的推送服务配置。
- 用户级别推送配置要求 App Key 已开通用户级别功能设置。如需开通,请提交工单。
以下配置适用于 IMKit 或 IMLib,或其他依赖 IMLib/IMKit 的客户端 SDK。
设置用户推送语言偏好
为当前登录用户设置推送通知的展示语言偏好。在用户未设置偏好的情况下,使用 App Key 级别的 Push 语言设置。
融云内置消息类型的默认推送内容中含有部分格式文本字符串。例如,默认情况下用户收到单聊会话的文件消息推送时,推送通知内容中将显示简体中文字符串“[文件]”。如果用户将自己的推送语言偏好修改为美国英语 en_US
,则再接收到文件消息时,通知内容中的格式文本字符串将为“[File]”。
上例中的 “[文件]” “[File]” 即格式文本字符串。目前融云服务端为内置消息类型的推送内容提供了格式文本字符串, 支持简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
。
RongIMClient.getInstance().setPushLanguageCode(languageCode,
new RongIMClient.OperationCallback() {
/**
* 成功回调
*/
@Override
public void onSuccess() {
}
/**
* 错误回调
* @param errorCode 错误码
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
}
});
设置成功后,当前用户接收内置消息类型的推送通知时,推送内容中的格式文本字符串会根据对应语种进行调整。
参数 | 类型 | 说明 |
---|---|---|
languageCode | String | 设置推送通知显示的语言。目前融云支持的内置推送语言为 zh_CN 、en_US 、ar_SA 。自定义推送语言请与 控制台 > 自定义推送文案 中的语言标识保持一致。 |
callback | OperationCallback | 操作回调 |
目前融云支持的内置推送语言为简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
。App 可以配合使用自定义多语言推送模板功能,可以实现在一条推送通知中支持更多推送语言。
您可以修改 App Key 在融云的默认推送语言配置。如有需要,请提交工单申请更改 App Key 级别的 Push 语言。
设置用户推送通知详情偏好
在用户未设置偏好的情况下,默认会展示推送通知内容。该功能支持当前登录用户设置自己的推送通知中是否需要展示推送通知的内容详情。
boolean showStatus = false; // 不显示推送通知详情
RongIMClient.getInstance().setPushContentShowStatus(showStatus,
new RongIMClient.OperationCallback() {
/**
* 成功回调
*/
@Override
public void onSuccess() {
}
/**
* 错误回调
* @param errorCode 错误码
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
}
});
如果设置为不显示详情,推送通知将显示为格式文本字符串“您收到了一条通知”(该格式文本字符串支持简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
)。
参数 | 类型 | 说明 |
---|---|---|
showStatus | boolean | 是否显示推送详情。true :显示详情。false :不显示详情。 |
callback | OperationCallback | 操作回调 |
请注意,发送消息时可以指定 forceShowDetailContent
强制越过消息接收者的该项配置,强制显示推送通知内容详情。以下列出了部分平台的配置:
- Android:
Message
的 MessagePushConfig 属性。参见 Android 端「发送消息」文档中的 MessagePushConfig 属性说明。 - iOS:
RCMessage
的 RCMessagePushConfig 属性。参见 iOS 端「APNs 推送开发指南」下的配置消息的推送属性。 - Web:IPushConfig
- IM Server API:若接口提供
forceShowPushContent
参数,则支持该功能。
您也可以修改 App Key 在融云的默认配置。如有需要,请提交工单申请更改 App Key 级别的 推送通知详情。关闭后,所有推送通知均默认不显示推送内容详情。
设置用户多端时接收推送偏好
为当前登录用户设置在 Web 端或 PC 端在线时,离线的移动端设备是否需要接收推送通知。请注意,该接口仅在 App Key 已开通 Web/PC 在线手机端接收 Push 服务后可用。
您可以前往控制台的免费基础功能页面修改 App Key 级别配置。
- 如果 App Key 未开通 Web/PC 在线手机端接收 Push,则所有 App 用户在 Web 端或 PC 端在线时,不在线的移动端不会收到推送。不支持 App 用户修改自己的偏好。
- 如果 App Key 已开通 Web/PC 在线手机端接收 Push,当前登录用户可自行关闭或开启该行为。
boolean receiveStatus = false; // 当前用户希望 Web/PC 在线时不接收推送通知
RongIMClient.getInstance().setPushReceiveStatus(receiveStatus,
new RongIMClient.OperationCallback() {
/**
* 成功回调
*/
@Override
public void onSuccess() {
}
/**
* 错误回调
* @param errorCode 错误码
*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
}
});
成功设置为 false
后,当前用户如果在 Web/PC 端在线,则移动端不会接收推送通知。
参数 | 类型 | 说明 |
---|---|---|
receiveStatus | boolean | 其它端在线时,移动端是否接受推送。true :接收推送。false :不接收推送。 |
callback | OperationCallback | 操作回调 |