自定义推送规则
多端登录场景下,如果用户希望当某些平台的账号在线时,部分其他平台上的账号不收到离线推送通知,可以通过自定义推送规则实现。
在实现“自定义推送规则”功能之前,请确保:
用户离线推送规则变化通知
如需在用户自定义规则时收到通知,请注册 userRuleUpdated 事件实现。
Untitled
// 监听用户自定义规则
zim.on('userRuleUpdated', (zim, data) => {
// 离线推送规则
const offlinePushRule = data.userRule.offlinePushRule;
1
设置离线推送规则
如需支持用户自定义推送规则时,开发者需要构造 ZIMUserOfflinePushRule 类型参数,规定用户在哪些平台上在线( onlinePlatforms )时,哪些平台无需接收离线推送( notToReceiveOfflinePushPlatforms )。
调用 updateUserOfflinePushRule 接口,设置上述规则。
Untitled
// 设置离线推送规则
var offlinePushRule = {
// 当用户 Win、MacOS、Linux 平台登录时
onlinePlatforms: [1, 4, 5],
// 用户在 iPhoneOS、iPadOS、Android 上不收到离线推送
notToReceiveOfflinePushPlatforms: [2, 3, 9],
zim.updateUserOfflinePushRule(offlinePushRule)
.then((res) => {
// success
.catch((err) => {
// error
1