SDKsReact Native
订阅用户在线状态
OpenIM React Native SDK 订阅用户在线状态。
订阅指定用户的在线状态。建议只订阅当前界面可见的用户。
const userIDs = [...new Set(visibleUserIDs.filter(Boolean))];
const states = await OpenIMSDK.subscribeUsersStatus(userIDs);参数说明
传入要订阅的目标用户 ID 数组 string[]。
返回结果
调用完成后返回这些用户当前的 UserOnlineState[] 状态快照,常用字段如下:
| 字段 | 类型 | 含义 |
|---|---|---|
userID | string | 状态所属用户的 ID,客户端合并标识。 |
status | OnlineState | 在线状态:OnlineState.Online 表示在线,OnlineState.Offline 表示离线。 |
platformIDs | Platform[](可选) | 用户当前登录在线的平台列表。 |
在线状态只表示用户与 OpenIM 服务端的长连接连通情况,不代表用户正在查看应用或某个具体会话。
监听在线状态变化
订阅用户的在线状态变化时,触发 OnUserStatusChanged 事件:
const handleStatusChanged = (state: UserOnlineState) => {
// 按 state.userID 更新在线状态
};
// 设置监听
OpenIMSDK.on(OpenIMEvent.OnUserStatusChanged, handleStatusChanged);
// 取消监听
OpenIMSDK.off(OpenIMEvent.OnUserStatusChanged, handleStatusChanged);退出登录、切换账号或不再需要展示这些用户时,取消订阅并移除监听。
这个页面有帮助吗?