SDKsuni-app / uni-app x
设置全局消息接收方式
设置当前账号在全部会话中的默认消息接收与通知方式。
globalRecvMsgOpt 是账号级默认策略,控制当前账号是否允许消息通知。它与昵称、头像等普通用户资料相互独立,应通过单独的设置项提交。
globalRecvMsgOpt 的类型为 OpenIMMessageReceiveOption。账号级设置使用以下两个有效值:
| 常量 | 数值 | 含义 |
|---|---|---|
OpenIMMessageReceiveOptionReceive | 0 | 正常接收消息,并允许离线推送或通知。 |
OpenIMMessageReceiveOptionReceiveWithoutNotification | 2 | 接收消息,但不触发离线推送或通知,即开启全天免打扰。 |
import {
OpenIMMessageReceiveOptionReceiveWithoutNotification,
setSelfInfo,
} from '@/uni_modules/unix-openim-sdk'
await setSelfInfo({
globalRecvMsgOpt: OpenIMMessageReceiveOptionReceiveWithoutNotification,
})使用 OpenIMMessageReceiveOptionReceive 表示关闭账号级免打扰,使用 OpenIMMessageReceiveOptionReceiveWithoutNotification 表示开启账号级全天免打扰。OpenIMMessageReceiveOptionDoNotReceive 是预留值,不应作为账号级设置选项展示。
单个会话的 recvMsgOpt 是更细粒度的设置。账号级与会话级设置同时存在时,客户端应展示 SDK 或服务端返回的最终会话状态,不要仅根据本地开关推断是否会收到通知。
Promise 成功表示设置请求完成,不等同于 onSelfInfoUpdated() 已到达。完整事件监听见更新当前用户资料;需要立即确认当前值时,重新调用获取当前用户资料。
这个页面有帮助吗?