系统设置
更新时间: 2024/09/18 11:22:30
网易云信即时通讯 SDK(NetEase IM SDK,以下简称 NIM SDK)提供系统设置相关功能,支持设置单聊/群聊消息免打扰、获取会话消息的免打扰状态等。
本文介绍系统设置相关 API。
支持平台
Android | iOS | macOS/Windows | Web/uni-app/小程序 | HarmonyOS |
---|---|---|---|---|
✔️️ | ✔️️ | ✔️️ | ✔️️ | ✔️️ |
API 概览
系统设置监听
API | 说明 | 起始版本 |
---|---|---|
addSettingListener | 注册系统设置相关监听器。 | v10.2.0 |
removeSettingListener | 移除系统设置相关监听器。 | v10.2.0 |
API | 说明 | 起始版本 |
---|---|---|
on("EventName") | 注册系统设置相关监听。 | v10.2.0(对应 HarmonyOS v0.6.0) |
off("EventName") | 取消注册系统设置相关监听。 | v10.2.0(对应 HarmonyOS v0.6.0) |
系统设置操作
API | 说明 | 起始版本 |
---|---|---|
setP2PMessageMuteMode | 设置单聊消息免打扰模式。 | v10.2.0(对应 HarmonyOS v0.6.0) |
getP2PMessageMuteMode | 获取单聊消息免打扰模式。 | v10.2.0(对应 HarmonyOS v0.6.0) |
getP2PMessageMuteList | 获取开启单聊消息免打扰的用户列表。 | v10.2.0(对应 HarmonyOS v0.6.0) |
setTeamMessageMuteMode | 设置群消息免打扰模式。 | v10.2.0(对应 HarmonyOS v0.6.0) |
getTeamMessageMuteMode | 获取群消息免打扰模式。 | v10.2.0(对应 HarmonyOS v0.6.0) |
getConversationMuteStatus | 获取会话消息免打扰状态。 | v10.2.0(对应 HarmonyOS v0.6.0) |
setPushMobileOnDesktopOnline | 设置当桌面端在线时,移动端是否需要推送。 | v10.2.0(对应 HarmonyOS v0.6.0) |
setOfflinePushConfig | 设置离线推送配置信息(仅 Web 端)。 | v10.2.0 |
setAppBackground | 设置应用前后台状态(仅 Web 端)。 | v10.2.0 |
setDndConfig | 设置推送全局免打扰(除 Web 端)。 | v10.2.0(对应 HarmonyOS v0.6.0/PC v10.3.1) |
getDndConfig | 获取推送免打扰配置信息(除 Web 端)。 | v10.2.4(对应 HarmonyOS v0.6.0/PC v10.3.1) |
接口类
V2NIMSettingService
类提供系统设置相关接口,包括设置单聊/群聊消息免打扰模式、获取单聊/群聊消息免打扰模式、获取单聊消息免打扰列表、获取会话消息的免打扰状态等接口。
addSettingListener
接口描述
注册系统设置相关监听器。
注册成功后,当事件发生时,SDK 会返回对应的回调。
-
建议在初始化后调用该方法。
-
全局只需注册一次。
-
该方法为同步。
参数说明
Javavoid addSettingListener(V2NIMSettingListener listener);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSettingListener |
是 | 系统设置相关监听器 |
Objective-C- (void)addSettingListener:(id<V2NIMSettingListener>)listener;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
id<V2NIMSettingListener > |
是 | 系统设置相关监听器 |
C++virtual void addSettingListener(V2NIMSettingListener listener) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSettingListener |
是 | 系统设置相关监听器 |
示例代码
JavaNIMClient.getService(V2NIMSettingService.class).addSettingListener(new V2NIMSettingListener() {
@Override
public void onTeamMessageMuteModeChanged(String teamId, V2NIMTeamType teamType, V2NIMTeamMessageMuteMode muteMode) {
}
@Override
public void onP2PMessageMuteModeChanged(String accountId, V2NIMP2PMessageMuteMode muteMode) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2SettingService] addSettingListener:self];
C++V2NIMTeamListener listener;
listener.onTeamMessageMuteModeChanged = [](std::string teamId, V2NIMTeamType teamType, V2NIMTeamMessageMuteMode muteMode) {
// handle team message mute mode changed
};
listener.onP2PMessageMuteModeChanged = [](std::string accountId, V2NIMP2PMessageMuteMode muteMode) {
// handle p2p message mute mode changed
};
settingService.addSettingListener(listener);
返回参数
无。
removeSettingListener
接口描述
移除系统设置相关监听器。
该方法为同步。
参数说明
Javavoid removeSettingListener(V2NIMSettingListener listener);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSettingListener |
是 | 系统设置相关监听器 |
Objective-C- (void)removeSettingListener:(id<V2NIMSettingListener>)listener;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
id<V2NIMSettingListener > |
是 | 系统设置相关监听器 |
C++ virtual void removeSettingListener(V2NIMSettingListener listener) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSettingListener |
是 | 系统设置相关监听器 |
示例代码
JavaNIMClient.getService(V2NIMSettingService.class).removeSettingListener(listener);
Objective-C[[[NIMSDK sharedSDK] v2SettingService] removeSettingListener:self];
C++V2NIMTeamListener listener;
// ...
settingService.removeSettingListener(listener);
返回参数
无。
on("EventName")
接口描述
注册系统设置相关监听。
注册成功后,当事件发生时,SDK 会返回对应的回调。
-
建议在初始化后调用该方法。
-
全局只需注册一次。
-
该方法为同步。
参数说明
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 EventEmitter3 的监听事件方法。
*/
on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
/**
* 继承自 EventEmitter3 的监听事件方法。
*/
once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
T | 是 | 事件名称:onTeamMessageMuteModeChanged :群消息免打扰模式变更回调,包括群组 ID、群组类型、群消息免打扰模式。onP2PMessageMuteModeChanged :单聊(点对点)消息免打扰模式变更回调,包括聊天对象账号、单聊消息免打扰模式。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
TypeScripton<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
export type V2NIMSettingListener = {
onTeamMessageMuteModeChanged: [teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode]
onP2PMessageMuteModeChanged: [accountId: string, muteMode: V2NIMP2PMessageMuteMode]
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
T | 是 | 事件名称:onTeamMessageMuteModeChanged :群消息免打扰模式变更回调,包括群组 ID、群组类型、群消息免打扰模式。onP2PMessageMuteModeChanged :单聊(点对点)消息免打扰模式变更回调,包括聊天对象账号、单聊消息免打扰模式。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
示例代码
TypeScriptnim.V2NIMSettingService.on("onTeamMessageMuteModeChanged", function (teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode)
nim.V2NIMSettingService.on("onP2PMessageMuteModeChanged", function (accountId: string, muteMode: V2NIMP2PMessageMuteMode)
TypeScriptnim.settingService.on('onTeamMessageMuteModeChanged', (teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode) => {})
nim.settingService.on('onP2PMessageMuteModeChanged', (accountId: string, muteMode: V2NIMP2PMessageMuteMode) => {})
返回参数
无。
off("EventName")
接口描述
取消注册系统设置相关监听。
该方法为同步。
参数说明
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 EventEmitter3 的取消监听方法。
*/
off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void;
/**
* 继承自 EventEmitter3 的移除事件方法。
*/
removeAllListeners<T extends keyof I>(eventName?: T): void;
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
T | 是 | 事件名称:事件名称:onTeamMessageMuteModeChanged :群消息免打扰模式变更回调,包括群组 ID、群组类型、群消息免打扰模式。onP2PMessageMuteModeChanged :单聊(点对点)消息免打扰模式变更回调,包括聊天对象账号、单聊消息免打扰模式。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
TypeScriptoff<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
export type V2NIMSettingListener = {
onTeamMessageMuteModeChanged: [teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode]
onP2PMessageMuteModeChanged: [accountId: string, muteMode: V2NIMP2PMessageMuteMode]
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
T | 是 | 事件名称:事件名称:onTeamMessageMuteModeChanged :群消息免打扰模式变更回调,包括群组 ID、群组类型、群消息免打扰模式。onP2PMessageMuteModeChanged :单聊(点对点)消息免打扰模式变更回调,包括聊天对象账号、单聊消息免打扰模式。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
示例代码
TypeScriptnim.V2NIMSettingService.off("onTeamMessageMuteModeChanged", function (teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode)
nim.V2NIMSettingService.off("onP2PMessageMuteModeChanged", function (accountId: string, muteMode: V2NIMP2PMessageMuteMode)
TypeScriptnim.settingService.off('onTeamMessageMuteModeChanged', fn)
nim.settingService.off('onP2PMessageMuteModeChanged', fn)
返回参数
无。
setP2PMessageMuteMode
接口描述
设置单聊(点对点)消息免打扰模式。
本地端或多端同步设置成功后,SDK 会返回单聊消息免打扰模式变更回调 onP2PMessageMuteModeChanged
,并触发会话变更。
参数说明
Javavoid setP2PMessageMuteMode(String accountId, V2NIMP2PMessageMuteMode muteMode, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
String | 是 | 聊天对象用户账号,不可为空,否则返回 191004 参数错误。 |
muteMode |
V2NIMP2PMessageMuteMode |
是 | 消息免打扰模式:免打扰开启或免打扰关闭 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
Objective-C- (void)setP2PMessageMuteMode:(NSString *)accountId
muteMode:(V2NIMP2PMessageMuteMode)muteMode
success:(nullable V2NIMSuccessCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
NSString * | 是 | 聊天对象用户账号,不可为空,否则返回 191004 参数错误。 |
muteMode |
V2NIMP2PMessageMuteMode |
是 | 消息免打扰模式:免打扰开启或免打扰关闭 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
C++virtual void setP2PMessageMuteMode(std::string accountId,
V2NIMP2PMessageMuteMode muteMode,
V2NIMSuccessCallback<void> success,
V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
std::string | 是 | 聊天对象用户账号,不可为空,否则返回 191004 参数错误。 |
muteMode |
V2NIMP2PMessageMuteMode |
是 | 消息免打扰模式:免打扰开启或免打扰关闭 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
TypeScriptsetP2PMessageMuteMode(accountId: string, muteMode: V2NIMP2PMessageMuteMode): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 聊天对象用户账号,不可为空,否则返回 191004 参数错误。 |
muteMode |
V2NIMP2PMessageMuteMode |
是 | 消息免打扰模式:免打扰开启或免打扰关闭 |
TypeScriptsetP2PMessageMuteMode(accountId: string, muteMode: V2NIMP2PMessageMuteMode): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 聊天对象用户账号,不可为空,否则返回 191004 参数错误。 |
muteMode |
V2NIMP2PMessageMuteMode |
是 | 消息免打扰模式:免打扰开启或免打扰关闭 |
示例代码
JavaNIMClient.getService(V2NIMSettingService.class).setP2PMessageMuteMode(accountId, muteMode,
new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2SettingService] setP2PMessageMuteMode:@"accountId" muteMode:V2NIM_P2P_MESSAGE_MUTE_MODE_OFF success:^{
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++settingService.setP2PMessageMuteMode(
"accountId",
V2NIM_P2P_MESSAGE_MUTE_MODE_ON,
[]() {
// set p2p mute mode succeeded
},
[](V2NIMError error) {
// set p2p mute mode failed, handle error
});
TypeScriptnim.V2NIMSettingService.setP2PMessageMuteMode('accountId', 1)
TypeScriptawait nim.settingService.setP2PMessageMuteMode('accountId', V2NIMP2PMessageMuteMode.V2NIM_P2P_MESSAGE_MUTE_MODE_ON)
返回参数
无返回值。
Promise<void>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。设置成功,返回onP2PMessageMuteModeChanged
回调。 - 请求失败,返回
V2NIMFailuerCallback
回调,包含免打扰相关错误码。
设置成功,返回 onP2PMessageMuteModeChanged
回调。
getP2PMessageMuteMode
接口描述
获取单聊(点对点)消息免打扰模式。
该方法为同步。
参数说明
JavaV2NIMP2PMessageMuteMode getP2PMessageMuteMode(String accountId);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
String | 是 | 聊天对象用户账号,如果为空、不合法、不存在,则返回 191004 参数错误。 |
Objective-C- (V2NIMP2PMessageMuteMode)getP2PMessageMuteMode:(NSString *)accountId;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
NSString * | 是 | 聊天对象用户账号,不如果为空、不合法、不存在,则返回 191004 参数错误。 |
C++virtual V2NIMP2PMessageMuteMode getP2PMessageMuteMode(nstd::string accountId) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
nstd::string | 是 | 聊天对象用户账号,如果为空、不合法、不存在,则返回 191004 参数错误。 |
TypeScriptgetP2PMessageMuteMode(accountId: string): V2NIMP2PMessageMuteMode
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 聊天对象用户账号,如果为空、不合法、不存在,则返回 191004 参数错误。 |
TypeScriptgetP2PMessageMuteMode(accountId: string): Promise<V2NIMP2PMessageMuteMode>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 聊天对象用户账号,如果为空、不合法、不存在,则返回 191004 参数错误。 |
示例代码
JavaV2NIMP2PMessageMuteMode muteMode = NIMClient.getService(V2NIMSettingService.class).getP2PMessageMuteMode(accountId);
Objective-C[[[NIMSDK sharedSDK] v2SettingService] getP2PMessageMuteMode:@"accountId"];
C++auto muteMode = settingService.getP2PMessageMuteMode("accountId");
TypeScriptconst mode = nim.V2NIMSettingService.getP2PMessageMuteMode('accountId')
TypeScriptconst mode = await nim.settingService.getP2PMessageMuteMode('accountId')
返回参数
V2NIMP2PMessageMuteMode
单聊(点对点)消息免打扰模式
Promise<V2NIMP2PMessageMuteMode
>
相关回调
无。
getP2PMessageMuteList
接口描述
获取开启单聊(点对点)消息免打扰的用户列表。
参数说明
Javavoid getP2PMessageMuteList(V2NIMSuccessCallback<List<String>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
success |
V2NIMSuccessCallback |
是 | 获取成功回调,返回 accountId 列表。 |
failure |
V2NIMFailureCallback |
是 | 获取失败回调,返回 错误码。 |
Objective-C- (void)getP2PMessageMuteList:(nullable V2NIMGetMuteListSuccess)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
success |
V2NIMGetMuteListSuccess |
是 | 获取成功回调,返回 accountId 列表,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 获取失败回调,返回 错误码。 |
C++virtual void getP2PMessageMuteList(V2NIMSuccessCallback<nstd::vector<nstd::string>> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
success |
V2NIMSuccessCallback |
是 | 获取成功回调,返回 accountId 列表。 |
failure |
V2NIMFailureCallback |
是 | 获取失败回调,返回 错误码。 |
TypeScriptgetP2PMessageMuteList(): Promise<Array<string>>
TypeScriptgetP2PMessageMuteList(): Promise<Array<string>>
示例代码
JavaNIMClient.getService(V2NIMSettingService.class).getP2PMessageMuteList(
new V2NIMSuccessCallback<List<String>>() {
@Override
public void onSuccess(List<String> strings) {
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
}
);
Objective-C[[[NIMSDK sharedSDK] v2SettingService] getP2PMessageMuteList:^(NSArray<NSString *> * _Nonnull result) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++settingService.getP2PMessageMuteList(
[](nstd::vector<nstd::string> muteList) {
// get p2p mute list succeeded, handle mute list
},
[](V2NIMError error) {
// get p2p mute list failed, handle error
});
TypeScriptconst mutedList = await nim.V2NIMSettingService.getP2PMessageMuteList()
TypeScriptconst mutedList = await nim.settingService.getP2PMessageMuteList()
返回参数
无返回值。
Promise<Array
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调,包含accountId
列表。 - 请求失败,返回
V2NIMFailuerCallback
回调,包含免打扰相关错误码。
无。
setTeamMessageMuteMode
接口描述
设置群聊消息免打扰模式。
本地端或多端同步设置成功后,SDK 会返回群聊消息免打扰模式变更回调 onTeamMessageMuteModeChanged
,并触发会话变更。
参数说明
Javavoid setTeamMessageMuteMode(String teamId, V2NIMTeamType teamType, V2NIMTeamMessageMuteMode muteMode, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
String | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
muteMode |
V2NIMTeamMessageMuteMode |
是 | 群消息免打扰模式:免打扰开启或免打扰关闭 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
Objective-C- (void)setTeamMessageMuteMode:(NSString *)teamId
teamType:(V2NIMTeamType)teamType
muteMode:(V2NIMTeamMessageMuteMode)muteMode
success:(nullable V2NIMSuccessCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
NSString * | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
muteMode |
V2NIMTeamMessageMuteMode |
是 | 群消息免打扰模式:免打扰开启或免打扰关闭 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
C++virtual void setTeamMessageMuteMode(std::string teamId, V2NIMTeamType teamType, V2NIMTeamMessageMuteMode muteMode, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
std::string | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
muteMode |
V2NIMTeamMessageMuteMode |
是 | 群消息免打扰模式:免打扰开启或免打扰关闭 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
TypeScriptsetTeamMessageMuteMode(teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
string | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
muteMode |
V2NIMTeamMessageMuteMode |
是 | 群消息免打扰模式:免打扰开启或免打扰关闭 |
TypeScriptsetTeamMessageMuteMode(teamId: string, teamType: V2NIMTeamType, muteMode: V2NIMTeamMessageMuteMode): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
string | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
muteMode |
V2NIMTeamMessageMuteMode |
是 | 群消息免打扰模式:免打扰开启或免打扰关闭 |
示例代码
JavaNIMClient.getService(V2NIMSettingService.class).setTeamMessageMuteMode(teamId, teamType, muteMode,
new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
// success
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
// failed, handle error
}
});
Objective-C[[[NIMSDK sharedSDK] v2SettingService] setTeamMessageMuteMode:@"teamId" teamType:V2NIM_TEAM_TYPE_INVALID muteMode:V2NIM_TEAM_MESSAGE_MUTE_MODE_OFF success:^{
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++settingService.setTeamMessageMuteMode(
"teamId",
V2NIM_TEAM_TYPE_NORMAL,
V2NIM_TEAM_MESSAGE_MUTE_MODE_ON,
[]() {
// set team mute mode succeeded
},
[](V2NIMError error) {
// set team mute mode failed, handle error
}
);
TypeScriptnim.V2NIMSettingService.setTeamMessageMuteMode('teamId', 1, 1)
TypeScriptawait nim.settingService.setTeamMessageMuteMode('teamId', V2NIMTeamType.V2NIM_TEAM_TYPE_NORMAL, V2NIMTeamMessageMuteMode.V2NIM_TEAM_MESSAGE_MUTE_MODE_ON)
返回参数
无返回值。
Promise<void>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。设置成功,返回onTeamMessageMuteModeChanged
回调。 - 请求失败,返回
V2NIMFailuerCallback
回调,包含免打扰相关错误码。
设置成功,返回 onTeamMessageMuteModeChanged
回调。
getTeamMessageMuteMode
接口描述
获取群聊消息免打扰模式。
该方法为同步。
参数说明
JavaV2NIMTeamMessageMuteMode getTeamMessageMuteMode(String teamId, V2NIMTeamType teamType);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
String | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
Objective-C- (V2NIMTeamMessageMuteMode)getTeamMessageMuteMode:(NSString *)teamId
teamType:(V2NIMTeamType)teamType;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
NSString * | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
C++virtual V2NIMTeamMessageMuteMode getTeamMessageMuteMode(nstd::string teamId, V2NIMTeamType teamType) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
nstd::string | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
TypeScriptgetTeamMessageMuteMode(teamId: string, teamType: V2NIMTeamType): V2NIMTeamMessageMuteMode
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
string | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
TypeScriptgetTeamMessageMuteMode(teamId: string, teamType: V2NIMTeamType): Promise<V2NIMTeamMessageMuteMode>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
teamId |
string | 是 | 群组 ID。如果为空、不合法、不存在则返回 191004 参数错误。 |
teamType |
V2NIMTeamType |
是 | 群组类型,包括高级群和超大群。 |
示例代码
JavaV2NIMTeamMessageMuteMode muteMode = NIMClient.getService(V2NIMSettingService.class).getTeamMessageMuteMode(teamId, teamType);
Objective-C[[[NIMSDK sharedSDK] v2SettingService] getTeamMessageMuteMode:@"teamId" teamType:V2NIM_TEAM_TYPE_NORMAL];
C++auto muteMode = settingService.getTeamMessageMuteMode("teamId", V2NIM_TEAM_TYPE_NORMAL);
TypeScriptconst muteMode = nim.V2NIMSettingService.getTeamMessageMuteMode('teamId', 1)
TypeScriptconst muteMode = await nim.settingService.getTeamMessageMuteMode('teamId', V2NIMTeamType.V2NIM_TEAM_TYPE_NORMAL)
返回参数
V2NIMTeamMessageMuteMode
群聊消息免打扰模式
Promise<V2NIMTeamMessageMuteMode
>
相关回调
无。
getConversationMuteStatus
接口描述
获取会话消息免打扰状态。
- 该方法为同步。
- 如果该方法返回值不满足界面显示需求,可以调用
getP2PMessageMuteMode
或getTeamMessageMuteMode
方法获取单聊或群聊消息的具体免打扰模式。
参数说明
Javaboolean getConversationMuteStatus(String conversationId);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
conversationId |
String | 是 | 会话 ID,通过调用 V2NIMConversationIdUtil 的对应函数创建。V2NIMConversationType )| 聊天对象账号(accountId)或群组 ID。 |
Objective-C- (BOOL)getConversationMuteStatus:(NSString *)conversationId;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
conversationId |
NSString * | 是 | 会话 ID,通过调用 V2NIMConversationIdUtil 的对应函数创建。V2NIMConversationType )| 聊天对象账号(accountId)或群组 ID。 |
C++virtual bool getConversationMuteStatus(nstd::string conversationId) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
conversationId |
nstd::string | 是 | 会话 ID,通过调用 V2NIMConversationIdUtil 的对应函数创建。V2NIMConversationType )| 聊天对象账号(accountId)或群组 ID。 |
TypeScriptgetConversationMuteStatus(conversationId: string): boolean
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
conversationId |
string | 是 | 会话 ID,通过调用 V2NIMConversationIdUtil 的对应函数创建。V2NIMConversationType )| 聊天对象账号(accountId)或群组 ID。 |
TypeScriptgetConversationMuteStatus(conversationId: string): Promise<boolean>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
conversationId |
string | 是 | 会话 ID,通过调用 V2NIMConversationIdUtil 的对应函数创建。V2NIMConversationType )| 聊天对象账号(accountId)或群组 ID。 |
示例代码
Javaboolean isMute = NIMClient.getService(V2NIMSettingService.class).getConversationMuteStatus(conversationId);
Objective-C[[NIMSDK sharedSDK] v2SettingService] getConversationMuteStatus:@"conversationId"];
C++auto mute = settingService.getConversationMuteStatus(conversationId);
TypeScriptnim.V2NIMSettingService.getConversationMuteStatus('sender|1|receiver')
TypeScriptawait nim.settingService.getConversationMuteStatus('sender|1|receiver')
返回参数
true
:会话消息免打扰开启。false
:会话消息免打扰关闭。
相关回调
无。
setPushMobileOnDesktopOnline
接口描述
设置当桌面端在线时,移动端是否需要推送。
参数说明
Javavoid setPushMobileOnDesktopOnline(boolean need, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
need |
boolean | 否 | 桌面端在线时,移动端是否需要推送: |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
Objective-C- (void)setPushMobileOnDesktopOnline:(BOOL)need
success:(nullable V2NIMSuccessCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
need |
BOOL | 否 | 桌面端在线时,移动端是否需要推送: |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
C++virtual void setPushMobileOnDesktopOnline(bool need, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
need |
bool | 否 | 桌面端在线时,移动端是否需要推送: |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
TypeScriptsetPushMobileOnDesktopOnline(need: boolean): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
need |
boolean | 否 | 桌面端在线时,移动端是否需要推送: |
TypeScriptsetPushMobileOnDesktopOnline(need: boolean): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
need |
boolean | 否 | 桌面端在线时,移动端是否需要推送: |
示例代码
JavaNIMClient.getService(V2NIMSettingService.class).setPushMobileOnDesktopOnline(needPushMobileOnDesktopOnline,
new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2SettingService] setPushMobileOnDesktopOnline:YES success:^{
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++settingService.setPushMobileOnDesktopOnline(
true,
[]() {
// set push mobile on desktop online succeeded
},
[](V2NIMError error) {
// set push mobile on desktop online failed, handle error
});
TypeScriptnim.V2NIMSettingService.setPushMobileOnDesktopOnline(true)
TypeScriptawait nim.settingService.setPushMobileOnDesktopOnline(true)
返回参数
无返回值。
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailuerCallback
回调,包含相关错误码。
无。
setDndConfig
接口描述
设置推送全局免打扰。
参数说明
Javavoid setDndConfig(V2NIMDndConfig config, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
config |
V2NIMDndConfig |
是 | 推送全局免打扰配置信息 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
Objective-C- (void)setDndConfig:(V2NIMDndConfig *)config;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
config |
V2NIMDndConfig |
是 | 推送全局免打扰配置信息 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
C++virtual void v2::V2NIMSettingService::setDndConfig (" V2NIMDndConfig config,
V2NIMSuccessCallback< void > success,
V2NIMFailureCallback failure
)
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
config |
V2NIMDndConfig |
是 | 推送全局免打扰配置信息 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
TypeScriptsetDndConfig(config: V2NIMDndConfig): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
config |
V2NIMDndConfig |
是 | 推送全局免打扰配置信息。 |
示例代码
JavaV2NIMDndConfig dndConfig = V2NIMDndConfig.V2NIMDndConfigBuilder.builder(fromH, fromM, toH, toM).build();
NIMClient.getService(V2NIMSettingService.class).setDndConfig(dndConfig,
new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2SettingService] setDndConfig:config];
C++V2NIMDndConfig config;
settingService.setDndConfig(
config,
[]() {
// set dnd config succeeded
},
[](V2NIMError error) {
// set dnd config failed, handle error
});
);
TypeScriptconst res = await nim.settingService.setDndConfig({
showDetail: true,
dndOn: true,
fromH: 22,
fromM: 30,
toH: 6,
toM: 30
} as V2NIMDndConfig)
返回参数
无返回值。
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailuerCallback
回调,包含相关错误码。
无。
getDndConfig
接口描述
获取推送全局免打扰配置详情。
参数说明
JavaV2NIMDndConfig getDndConfig();
Objective-C- (nullable V2NIMDndConfig *)getDndConfig;
C++virtual V2NIMDndConfig v2::V2NIMSettingService::getDndConfig()
TypeScriptgetDndConfig(): Promise<V2NIMDndConfig>;
示例代码
JavaV2NIMDndConfig dndConfig = NIMClient.getService(V2NIMSettingService.class).getDndConfig();
Objective-C[NIMSDK.sharedSDK.v2SettingService getDndConfig];
C++V2NIMDndConfig dndConfig = settingService.getDndConfig();
TypeScriptawait nim.settingService.getDndConfig()
返回参数
V2NIMDndConfig
:推送全局免打扰配置信息
setOfflinePushConfig(仅 Web)
接口描述
设置离线推送配置信息。
适用于 Web uni-app 编译为移动端的场景。实现步骤请参考 uni-app 离线推送。
参数说明
TypeScriptsetOfflinePushConfig(plugin: NIMEStrAnyObj, config: V2NIMOfflinePushConfig): void
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
plugin |
NIMEStrAnyObj | 是 | 网易云信提供的离线推送插件,请单击 下载 NIMUniPlugin_1.1.zip。 |
config |
V2NIMOfflinePushConfig |
是 | 离线推送配置信息 |
示例代码
TypeScriptconst nimPushPlugin = uni.requireNativePlugin('NIMUniPlugin-PluginModule')
try {
this.$store.v2NIM.V2NIMSettingService.setOfflinePushConfig(
nimPushPlugin,
{
miPush: {
appId: '111',
appKey: '111',
certificateName: 'MI_PUSH_CERT'
},
vivoPush: {
certificateName: 'VIVO_PUSH_CERT'
},
oppoPush: {
appId: '111',
appKey: '111',
secret: '111',
certificateName: 'OPPO_PUSH_CERT'
},
hwPush: {
appId: '111',
certificateName: 'HUAWEI_PUSH_CERT2'
},
fcmPush: {
certificateName: 'FCM_PUSH_CERT'
},
mzPush: {
appId: '111',
appKey: '111',
certificateName: 'MEIZU_PUSH_CERT'
},
honorPush: {
certificateName: 'HONOR_PUSH_CERT'
},
apns: {
certificateName: 'APPLE_PUSH_CERT'
}
}
)
} catch (err) {
console.error('setOfflinePushConfig error', err.code, err.detail)
}
返回参数
void
相关回调
无。
setAppBackground(仅 Web)
接口描述
设置应用后台状态。
适用于 Web uni-app 编译为移动端的场景。
参数说明
TypeScriptsetAppBackground(isBackground: boolean, badge?: number): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
isBackground |
boolean | 否 | 是否运行在后台 |
badge |
number | 否 | 未读数,默认为 0 。仅用于 iOS 端。 |
success |
V2NIMSuccessCallback |
是 | 设置成功回调 |
failure |
V2NIMFailureCallback |
是 | 设置失败回调,返回 错误码。 |
示例代码
TypeScriptnim.V2NIMSettingService.setAppBackground(true)
返回参数
Promise<void>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailuerCallback
回调,包含相关错误码。