用户级推送配置
用户级别推送配置是指针对 App 当前登录用户的推送配置,通过 [RCIMClient sharedRCIMClient].pushProfile
来配置。
- 用户级别推送配置区别于 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
。
[[RCIMClient sharedRCIMClient].pushProfile setPushLauguageCode:@"zh_CN" success:^{
} error:^(RCErrorCode status) {
}];
RCPushLauguage lauguage = [RCIMClient sharedRCIMClient].pushProfile.pushLauguage;
设置成功后,当前用户接收内置消息类型的推送通知时,推送内容中的格式文本字符串会根据对应语种进行调整。
参数 | 类型 | 说明 |
---|---|---|
lauguage | NSString | 设置推送通知显示的语言。目前融云支持的内置推送语言为 zh_CN 、en_US 、ar_SA 。自定义推送语言请与 控制台 > 自定义推送文案 中的语言标识保持一致。 |
successBlock | Block | 设置推送语言成功的回调 |
errorBlock | Block | 设置推送语言失败的回调。status 中返回错误码 RCErrorCode。 |
目前融云支持的内置推送语言为简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
。App 可以配合使用自定义多语言推送模板功能,可以实现在一条推送通知中支持更多推送语言。
您也可以在融云控制台,通过应用配置>IM 服务>免费基础功能>推送>Push 语言,修改 App Key 在融云的默认推送语言配置。
设置用户推送通知详情偏好
在用户未设置偏好的情况下,默认会展示推送通知内容。该功能支持当前登录用户设置自己的推送通知中是否需要展示推送通知的内容详情。
[[RCIMClient sharedRCIMClient].pushProfile updateShowPushContentStatus:NO success:^{
} error:^(RCErrorCode status) {
}];
BOOL isShowPushContent = [RCIMClient sharedRCIMClient].pushProfile.isShowPushContent;
如果设置为不显示详情,推送通知将显示为格式文本字符串“您收到了一条通知”(该格式文本字符串支持简体中文 zh_CN
、美国英语 en_US
、阿拉伯语 ar_SA
)。
参数 | 类型 | 说明 |
---|---|---|
isShowPushContent | BOOL | 是否显示推送的具体内容( YES 显示; NO 不显示)。 |
successBlock | Block | 设置是否显示推送的具体内容成功的回调。 |
errorBlock | Block | 设置是否显示推送的具体内容失败的回调。status 中返回错误码 RCErrorCode。 |
请注意,发送消息时可以指定 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,当前登录用户可自行关闭或开启该行为。
[[RCIMClient sharedRCIMClient].pushProfile setPushReceiveStatus:YES success:^{
} error:^(RCErrorCode status) {
}];
BOOL receiveStatus = [RCIMClient sharedRCIMClient].pushProfile.receiveStatus;
参数 | 类型 | 说明 |
---|---|---|
receiveStatus | BOOL | 设置 Web 端在线时,手机端是否接收推送 (YES 接收; NO 不接收)。 |
successBlock | Block | 设置手机端是否接收推送成功的回调。 |
errorBlock | Block | 设置手机端是否接收推送失败的回调。status 中返回错误码 RCErrorCode。 |