From 31c3b6000ae10ab06b68ab4eba8b8f3ccd769841 Mon Sep 17 00:00:00 2001 From: haoxiuwen Date: Thu, 18 Apr 2024 16:40:28 +0800 Subject: [PATCH] Add Android Doc for Updating the Count of Chat Room Member in Real Time --- docs/document/android/room_manage.md | 28 ++++++++++++++++++++++++++ docs/document/android/room_overview.md | 1 + 2 files changed, 29 insertions(+) diff --git a/docs/document/android/room_manage.md b/docs/document/android/room_manage.md index 8152656c1..b4aaece47 100644 --- a/docs/document/android/room_manage.md +++ b/docs/document/android/room_manage.md @@ -198,4 +198,32 @@ public interface EMChatRoomChangeListener { default void onChatroomAttributesDidRemoved(String chatRoomId, Map attributeMap , String from){} } +``` + +### 实时更新聊天室成员人数 + +如果聊天室短时间内有成员频繁加入或退出时,实时更新聊天室成员人数的逻辑如下: + +1. 聊天室内有成员加入时,其他成员会收到 `onMemberJoined` 事件。有成员主动或被动退出时,其他成员会收到 `onMemberExited` 和 `onRemovedFromChatRoom` 事件。 + +2. 收到通知事件后,调用 `EMChatRoomManager#getChatRoom` 方法获取本地聊天室详情,再通过`EMChatRoom#getMemberCount`获取聊天室当前人数。 + +```java +EMClient.getInstance().chatroomManager().addChatRoomChangeListener(new EMChatRoomChangeListener() { + + @Override + public void onMemberJoined(String roomId, String participant) { + //获取聊天室在线人数 + int memberCount = EMClient.getInstance().chatroomManager().getChatRoom(roomId).getMemberCount(); + + } + + @Override + public void onMemberExited(String roomId, String roomName, String participant) { + //int memberCount = EMClient.getInstance().chatroomManager().getChatRoom(roomId).getMemberCount(); + } + + …… + }); + ``` \ No newline at end of file diff --git a/docs/document/android/room_overview.md b/docs/document/android/room_overview.md index 1dc2575c0..f0b201b81 100644 --- a/docs/document/android/room_overview.md +++ b/docs/document/android/room_overview.md @@ -40,6 +40,7 @@ | 获取聊天室详情 | 所有聊天室成员有权限获取聊天室详情。 | | 修改聊天室名称 | 需要聊天室所有者权限。 | | 聊天室公告 | 仅聊天室所有者有权限编辑公告、删除公告。
公告更新会通过监听同步给所有成员。 | +| 实时更新聊天室成员人数 | 如果聊天室短时间内有成员频繁加入或退出时,可以实现实时更新聊天室成员人数。| #### 聊天室成员管理