设置多端推送/提醒策略
更新时间: 2024/08/08 09:50:09
云信 NIM SDK 支持配置多端推送策略,即当桌面端(包括 Windows,Web,macOS 等)在线时,SDK 支持设置是否需要推送给移动端。若移动端处于离线,则离线推送通知用户;若处于在线,则在线提醒用户。
前提条件
已 实现第三方离线推送。
实现方法
-
通过调用
observeMultiportPushConfigNotify
方法注册多端推送事件观察者,监听多端推送配置的更新。 示例代码如下:private void registerObservers(boolean register) { NIMClient.getService(SettingsServiceObserver.class).observeMultiportPushConfigNotify( pushConfigObserver, register); } Observer<Boolean> pushConfigObserver = (Observer<Boolean>) aBoolean -> ToastHelper.showToast( SettingsActivity.this, "收到multiport push config:" + aBoolean);
-
通过调用
updateMultiportPushConfig
方法来设置当桌面端在线时,是否需要推送给移动端。入参
isOpen
为 true 表示桌面端在线时移动端不需推送。示例代码如下:
objc
NIMClient.getService(SettingsService.class).updateMultiportPushConfig(checkState) .setCallback(new RequestCallback<Void>() { @Override public void onSuccess(Void param) { ToastHelper.showToast(SettingsActivity.this, "设置成功"); } @Override public void onFailed(int code) { ToastHelper.showToast(SettingsActivity.this, "设置失败,code:" + code); adapter.notifyDataSetChanged(); } @Override public void onException(Throwable exception) { } });
- 设置完成后,可以调用
isMultiportPushOpen
方法获取当前的多端推送配置信息。 - 如果 SDK 已配置多端登录,且已设置多端推送,则满足推送条件的各个客户端都会收到推送消息。如果不希望多个客户端同时收到推送,请关闭多端登录或者关闭多端推送功能。
此文档是否对你有帮助?