用户状态订阅
更新时间: 2024/09/18 11:18:59
网易云信即时通讯 SDK(NetEase IM SDK,以下简称 NIM SDK)提供订阅用户状态功能,支持订阅/取消订阅用户状态,发布自定义的用户状态,查询用户状态订阅关系等。
用户的状态包括在线状态和自定义状态。
本文介绍用户状态订阅相关的 API。
支持平台
Android | iOS | Windows/macOS | Web/uni-app/小程序 |
---|---|---|---|
✔️️ | ✔️️ | ✔️️ | ✔️️ |
API 概览
用户状态订阅监听
API | 说明 | 起始版本 |
---|---|---|
addSubscribeListener | 注册用户状态订阅相关监听器 | v10.4.0 |
removeSubscribeListener | 移除用户状态订阅相关监听器 | v10.4.0 |
API | 说明 | 起始版本 |
---|---|---|
on("EventName") | 注册用户状态订阅相关监听 | v10.4.0 |
off("EventName") | 取消用户状态订阅相关监听 | v10.4.0 |
用户状态订阅操作
API | 说明 | 起始版本 |
---|---|---|
subscribeUserStatus | 订阅用户状态 | v10.4.0 |
unsubscribeUserStatus | 取消订阅用户状态 | v10.4.0 |
publishCustomUserStatus | 发布用户自定义状态 | v10.4.0 |
queryUserStatusSubscriptions | 查询用户状态订阅关系 | v10.4.0 |
接口类
V2NIMSubscriptionService
类提供用户状态订阅相关接口,包括注册用户状态订阅监听,获取、订阅用户状态,发布自定义状态等接口。
addSubscribeListener
接口描述
注册用户状态订阅监听器。
注册成功后,当事件发生时,SDK 会返回对应的回调。
-
建议在初始化后调用该方法。
-
全局只需注册一次。
-
该方法为同步。
参数说明
Javavoid addSubscribeListener(V2NIMSubscribeListener listener);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSubscribeListener |
是 | 用户状态订阅相关监听器 |
Objective-C- (void)addSubscribeListener:(id<V2NIMSubscribeListener>)listener;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSubscribeListener |
是 | 用户状态订阅相关监听器 |
C++virtual void addSubscribeListener(const V2NIMSubscribeListener& listener) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSubscribeListener |
是 | 用户状态订阅相关监听器 |
示例代码
JavaV2NIMSubscribeListener listener = new V2NIMSubscribeListener() {
@Override
public void onUserStatusChanged(List<V2NIMUserStatus> userStatusList) {
//用户状态变更
}
};
NIMClient.getService(V2NIMSubscriptionService.class).addSubscribeListener(listener);
Objective-C[NIMSDK.sharedSDK.v2SubscriptionService addSubscribeListener:self];
C++V2NIMSubscribeListener listener;
listener.onUserStatusChanged = [](nstd::vector<V2NIMUserStatusEvent> events) {
// handle user status changed event
};
subscriptionService.addSubscribeListener(listener);
返回参数
无。
removeSubscribeListener
接口描述
移除用户状态订阅相关监听器。
该方法为同步。
参数说明
Javavoid removeSubscribeListener(V2NIMSubscribeListener listener);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSubscribeListener |
是 | 用户状态订阅相关监听器 |
Objective-C- (void)removeSubscribeListener:(id<V2NIMSubscribeListener>)listener;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSubscribeListener |
是 | 用户状态订阅相关监听器 |
C++virtual void removeSubscribeListener(const V2NIMSubscribeListener& listener) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMSubscribeListener |
是 | 用户状态订阅相关监听器 |
示例代码
JavaNIMClient.getService(V2NIMSubscriptionService.class).removeSubscribeListener(listener);
Objective-C[NIMSDK.sharedSDK.v2SubscriptionService removeSubscribeListener:self];
C++subscriptionService.removeSubscribeListener(listener);
返回参数
无。
on("EventName")
接口描述
注册用户状态订阅相关监听。
注册成功后,当事件发生时,SDK 会返回对应的回调。
-
建议在初始化后调用该方法。
-
全局只需注册一次。
-
该方法为同步。
参数说明
TypeScriptinterface V2NIMSubscriptionService extends EventEmitter3<V2NIMSubscribeListener> {
/**
* 继承自 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 |
V2NIMSubscribeListener |
是 | 事件名称:onUserStatusChanged :其他用户的用户状态变更回调,包括在线状态和自定义状态。同账号发布状态时,多端也会同步收到回调。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
示例代码
TypeScriptnim.V2NIMSubscriptionService.on("onUserStatusChanged", function (userStatusList: Array<V2NIMUserStatus>) {})
返回参数
无。
off("EventName")
接口描述
取消注册用户状态订阅相关监听。
该方法为同步。
参数说明
TypeScriptinterface V2NIMSubscriptionService extends EventEmitter3<V2NIMSubscribeListener> {
/**
* 继承自 eventEmitter3 的取消监听方法
*/
off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的移除事件方法
*/
removeAllListeners<T extends keyof I>(eventName?: T): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMSubscribeListener |
是 | 事件名称:onUserStatusChanged :其他用户的用户状态变更回调,包括在线状态和自定义状态。同账号发布状态时,多端也会同步收到回调。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
示例代码
TypeScriptnim.V2NIMSubscriptionService.off("onUserStatusChanged", function (userStatusList: Array<V2NIMUserStatus>) {})
返回参数
无。
subscribeUserStatus
接口描述
订阅用户状态,包括在线状态或用户自定义的状态。
成功订阅用户状态后,当订阅的用户状态有变更时,会触发 onUserStatusChanged
回调。
- 用户状态事件订阅时单向的,双方需要各自自行订阅。
- 单次最多订阅 100 个用户的状态,可多次调用该接口,订阅更多的用户状态,但是总订阅人数最多为 3000,若超限,则默认删除最老的订阅,即有效订阅最多为 3000 个。
- 若同一账号多端重复订阅,订阅有效期默认会覆盖(新的覆盖前一次时长)。
- 若传入的账号 ID 都不存在,则调用接口失败。若部分账号 ID 存在,则调用接口成功。调用结果只返回账号 ID 存在的用户状态,错误的账号 ID 不返回。
参数说明
Javavoid subscribeUserStatus(V2NIMSubscribeUserStatusOption option, V2NIMSuccessCallback<List<String>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMSubscribeUserStatusOption |
是 | 订阅用户状态的配置参数。 |
success |
V2NIMSuccessCallback |
是 | 订阅用户状态成功回调。 |
failure |
V2NIMFailureCallback |
是 | 订阅用户状态失败回调,返回 错误码。 |
Objective-C- (void)subscribeUserStatus:(V2NIMSubscribeUserStatusOption *_Nonnull)option
success:(nullable V2NIMSubscribeUserStatusCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMSubscribeUserStatusOption |
是 | 订阅用户状态的配置参数。 |
success |
V2NIMSubscribeUserStatusCallback |
是 | 订阅用户状态成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 订阅用户状态失败回调,返回 错误码。 |
C++virtual void subscribeUserStatus(const V2NIMSubscribeUserStatusOption &option,
const V2NIMSuccessCallback<const std::vector<std::string> &> &success,
const V2NIMFailureCallback &failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMSubscribeUserStatusOption |
是 | 订阅用户状态的配置参数。 |
success |
V2NIMSuccessCallback |
是 | 订阅用户状态成功回调。 |
failure |
V2NIMFailureCallback |
是 | 订阅用户状态失败回调,返回 错误码。 |
TypeScriptsubscribeUserStatus(option: V2NIMSubscribeUserStatusOption): Promise<Array<string>>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMSubscribeUserStatusOption |
是 | 订阅用户状态的配置参数。 |
示例代码
JavaList<String> accountIds = Arrays.asList("account1", "account2");
//订阅的有效期,时间范围为 60~2592000,单位:秒
long duration = 60L;
//订阅后是否立即同步事件状态值,默认为 false。为 true:表示立即同步当前状态值 但为了性能考虑,30S 内重复订阅,会忽略该参数
boolean immediateSync = false;
V2NIMSubscribeUserStatusOption option = new V2NIMSubscribeUserStatusOption(accountIds, duration, immediateSync);
NIMClient.getService(V2NIMSubscriptionService.class).subscribeUserStatus(option, new V2NIMSuccessCallback<List<String>>() {
@Override
public void onSuccess(List<String> failList) {
//订阅成功,返回订阅失败的 failList
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//订阅失败
}
});
Objective-CV2NIMSubscribeUserStatusOption *option = [[V2NIMSubscribeUserStatusOption alloc] init];
option.accountIds = @[@"accId1",@"accId2"];
[NIMSDK.sharedSDK.v2SubscriptionService subscribeUserStatus:option success:^(NSArray<NSString *> *failedList) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++V2NIMSubscribeUserStatusOption option;
option.accountIds.push_back("account1");
subscriptionService.subscribeUserStatus(
option,
[](nstd::vector<nstd::string> failedAccounts) {
// subscribe user status succeeded
},
[](V2NIMError error) {
// subscribe user status failed, handle error
});
TypeScripttry {
const failedAccounts = await nim.V2NIMSubscriptionService.subscribeUserStatus({
accountIds: ['user1', 'user2'],
duration: 3600 * 24
})
if (failedAccounts.length > 0) {
console.error('subscribeUserStatus failed accounts', failedAccounts)
}
} catch(err) {
console.error('subscribeUserStatus err': err)
}
返回参数
无返回值。
Promise<Array
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
- 请求成功,返回
V2NIMSubscribeUserStatusCallback
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
无。
unsubscribeUserStatus
接口描述
取消用户状态的订阅。
参数说明
Javavoid unsubscribeUserStatus(V2NIMUnsubscribeUserStatusOption option, V2NIMSuccessCallback<List<String>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMUnsubscribeUserStatusOption |
是 | 取消订阅用户状态的配置参数。 |
success |
V2NIMSuccessCallback |
是 | 取消订阅用户状态成功回调。 |
failure |
V2NIMFailureCallback |
是 | 取消订阅用户状态失败回调,返回 错误码。 |
Objective-C- (void)unsubscribeUserStatus:(V2NIMUnsubscribeUserStatusOption *_Nonnull)option
success:(nullable V2NIMUnsubscribeUserStatusCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMUnsubscribeUserStatusOption |
是 | 取消订阅用户状态的配置参数。 |
success |
V2NIMUnsubscribeUserStatusCallback |
是 | 取消订阅用户状态成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 取消订阅用户状态失败回调,返回 错误码。 |
C++virtual void unsubscribeUserStatus(const V2NIMUnsubscribeUserStatusOption& option,
const V2NIMSuccessCallback<nstd::vector<nstd::string>>& success,
const V2NIMFailureCallback& failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMUnsubscribeUserStatusOption |
是 | 取消订阅用户状态的配置参数。 |
success |
V2NIMSuccessCallback |
是 | 取消订阅用户状态成功回调。 |
failure |
V2NIMFailureCallback |
是 | 取消订阅用户状态失败回调,返回 错误码。 |
TypeScriptunsubscribeUserStatus(option: V2NIMUnsubscribeUserStatusOption): Promise<Array<string>>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMUnsubscribeUserStatusOption |
是 | 取消订阅用户状态的配置参数。 |
示例代码
JavaList<String> accountIds = Arrays.asList("account1", "account2");
V2NIMUnsubscribeUserStatusOption option = new V2NIMUnsubscribeUserStatusOption(accountIds);
NIMClient.getService(V2NIMSubscriptionService.class).unsubscribeUserStatus(option, new V2NIMSuccessCallback<List<String>>() {
@Override
public void onSuccess(List<String> failList) {
//取消订阅成功,返回取消订阅失败的 failList
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//取消订阅失败
}
});
Objective-CV2NIMUnsubscribeUserStatusOption *option = [[V2NIMUnsubscribeUserStatusOption alloc] init];
option.accountIds = @[@"accId1",@"accId2"];
[NIMSDK.sharedSDK.v2SubscriptionService unsubscribeUserStatus:option success:^(NSArray<NSString *> *failedList) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++V2NIMUnsubscribeUserStatusOption option;
option.accountIds.push_back("account1");
subscriptionService.unsubscribeUserStatus(
option,
[](nstd::vector<nstd::string> failedAccounts) {
// unsubscribe user status succeeded
},
[](V2NIMError error) {
// unsubscribe user status failed, handle error
});
TypeScripttry {
const failedAccounts = await nim.V2NIMSubscriptionService.unsubscribeUserStatus({
accountIds: ['user1', 'user2']
})
if (failedAccounts.length > 0) {
console.error('unsubscribeUserStatus failed accounts', failedAccounts)
}
} catch(err) {
console.error('unsubscribeUserStatus err': err)
}
返回参数
无返回值。
Promise<Array
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
- 请求成功,返回
V2NIMUnsubscribeUserStatusCallback
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
无。
queryUserStatusSubscriptions
接口描述
查询用户状态订阅关系。
传入账号列表,查询自己订阅了其中哪些账号的状态,调用接口成功后,返回订阅的账号列表。
参数说明
Javavoid queryUserStatusSubscriptions(List<String> accountIds, V2NIMSuccessCallback<List<V2NIMUserStatusSubscribeResult>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
List<String> | 否 | 需要查询的账号列表。查询自己是否订阅了对应账号。 |
success |
V2NIMSuccessCallback |
是 | 查询成功回调,返回 V2NIMUserStatusSubscribeResult 列表。 |
failure |
V2NIMFailureCallback |
是 | 查询失败回调,返回 错误码。 |
Objective-C- (void)queryUserStatusSubscriptions:(NSArray<NSString *>*_Nullable)accountIds
success:(nullable V2NIMSubscribeQueryCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
NSArray<NSString *> | 否 | 需要查询的账号列表。查询自己是否订阅了对应账号。 |
success |
V2NIMSubscribeQueryCallback |
是 | 查询成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 查询失败回调,返回 错误码。 |
C++virtual void queryUserStatusSubscriptions(const nstd::vector<nstd::string>& accountIds,
const V2NIMSuccessCallback<const nstd::vector<V2NIMUserStatusSubscribeResult>&>& success,
const V2NIMFailureCallback& failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
nstd::vectornstd::string | 否 | 需要查询的账号列表。查询自己是否订阅了对应账号。 |
success |
V2NIMSuccessCallback |
是 | 查询成功回调,返回 V2NIMUserStatusSubscribeResult 列表。 |
failure |
V2NIMFailureCallback |
是 | 查询失败回调,返回 错误码。 |
TypeScriptqueryUserStatusSubscriptions(accountIds: Array<string>): Promise<Array<V2NIMUserStatusSubscribeResult>>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
Array<string> | 否 | 需要查询的账号列表。查询自己是否订阅了对应账号。 |
示例代码
JavaList<String> accountIds = Arrays.asList("account1", "account2");
NIMClient.getService(V2NIMSubscriptionService.class).queryUserStatusSubscriptions(accountIds, new V2NIMSuccessCallback<List<V2NIMUserStatusSubscribeResult>>() {
@Override
public void onSuccess(List<V2NIMUserStatusSubscribeResult> v2NIMUserStatusSubscribeResults) {
//查询成功
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//查询失败
}
});
Objective-C[NIMSDK.sharedSDK.v2SubscriptionService queryUserStatusSubscriptions:@[@"accId1",@"accId2"] success:^(NSArray<V2NIMUserStatusSubscribeResult *> *resultList) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++nstd::vector<nstd::string> accountIds;
accountIds.push_back("account1");
subscriptionService.queryUserStatusSubscriptions(
accountIds,
[](nstd::vector<nstd::string> subscribedAccounts) {
// query user status subscribe succeeded
},
[](V2NIMError error) {
// query user status subscribe failed, handle error
});
TypeScripttry {
const result = await nim.V2NIMSubscriptionService.queryUserStatusSubscriptions(['user1', 'user2'])
console.log('queryUserStatusSubscriptions result', result)
} catch(err) {
console.error('queryUserStatusSubscriptions err': err)
}
返回参数
无返回值。
Promise<Array
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
- 请求成功,返回
V2NIMSubscribeQueryCallback
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
无。
publishCustomUserStatus
接口描述
发布用户自定义状态。
如果默认在线状态不满足业务需求,可以发布自定义用户状态。
参数说明
Javavoid publishCustomUserStatus(V2NIMCustomUserStatusParams params, V2NIMSuccessCallback<V2NIMCustomUserStatusPublishResult> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
params |
V2NIMCustomUserStatusParams |
是 | 发布自定义用户状态的配置参数。 |
success |
V2NIMSuccessCallback |
是 | 发布成功回调,返回 V2NIMCustomUserStatusPublishResult 。 |
failure |
V2NIMFailureCallback |
是 | 发布失败回调,返回 错误码。 |
Objective-C- (void)publishCustomUserStatus:(V2NIMCustomUserStatusParams *_Nonnull)params
success:(nullable V2NIMCustomUserStatusPublishCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
params |
V2NIMCustomUserStatusParams |
是 | 发布自定义用户状态的配置参数。 |
success |
V2NIMCustomUserStatusPublishCallback |
是 | 发布成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 发布失败回调,返回 错误码。 |
C++virtual void publishCustomUserStatus(const V2NIMCustomUserStatusParams& params,
const V2NIMSuccessCallback<const V2NIMCustomUserStatusPublishResult&>& success,
const V2NIMFailureCallback& failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
params |
V2NIMCustomUserStatusParams |
是 | 发布自定义用户状态的配置参数。 |
success |
V2NIMSuccessCallback |
是 | 发布成功回调,返回 V2NIMCustomUserStatusPublishResult 。 |
failure |
V2NIMFailureCallback |
是 | 发布失败回调,返回 错误码。 |
TypeScriptpublishCustomUserStatus(params: V2NIMCustomUserStatusParams): Promise<V2NIMCustomUserStatusPublishResult>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
params |
V2NIMCustomUserStatusParams |
是 | 发布自定义用户状态的配置参数。 |
示例代码
Java//自定义设置值:10000 以上,包括一万,一万以内为预定义值
int statusType = 10001;
//状态的有效期,单位秒,范围为 60s 到 7days
long duration = 60L;
//用户发布状态时设置的扩展字段
String extension = "{\"key\":\"value\"}";
//用户发布状态时是否只广播给在线的订阅者,默认值为 TRUE
boolean onlineOnly = true;
// 用户发布状态时是否需要多端同步,默认值为 FALSE
boolean multiSync = false;
//自定义用户状态参数
V2NIMCustomUserStatusParams params = new V2NIMCustomUserStatusParams.Builder(statusType,duration)
.extension(extension)
.onlineOnly(onlineOnly)
.multiSync(multiSync)
.build();
NIMClient.getService(V2NIMSubscriptionService.class).publishCustomUserStatus(params, new V2NIMSuccessCallback<V2NIMCustomUserStatusPublishResult>() {
@Override
public void onSuccess(V2NIMCustomUserStatusPublishResult v2NIMCustomUserStatusPublishResult) {
//发布自定义用户状态成功
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
//发布自定义用户状态失败
}
});
Objective-C V2NIMCustomUserStatusParams *params = [[V2NIMCustomUserStatusParams alloc] init];
params.statusType = 10001;
[NIMSDK.sharedSDK.v2SubscriptionService publishCustomUserStatus:params success:^(V2NIMCustomUserStatusPublishResult *resultList) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++V2NIMCustomUserStatusParams params;
params.statusType = 100001;
subscriptionService.publishCustomUserStatus(
params,
[]() {
// publish custom user status succeeded
},
[](V2NIMError error) {
// publish custom user status failed, handle error
});
TypeScripttry {
const result = await nim.V2NIMSubscriptionService.publishCustomUserStatus({
/**
* 自定义设置值:10000 以上,不包括一万,一万以内为预定义值。小于 1 万,返回参数错误
*/
statusType: 10001
/**
* 状态的有效期,单位秒,范围为 60s 到 7days
*/
duration: 3600 * 24
/**
* 用户发布状态时是否只广播给在线的订阅者。默认为 true
*/
onlineOnly: false
/**
* 用户发布状态时是否需要多端同步。默认为 false
*/
multiSync: true
})
console.log('publishCustomUserStatus result', result)
} catch(err) {
console.error('publishCustomUserStatus err': err)
}
返回参数
无返回值。
Promise<V2NIMCustomUserStatusPublishResult>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
- 请求成功,返回
V2NIMCustomUserStatusPublishCallback
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户订阅相关错误码。
无。