差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
im:android:basics:chatroom [2018/09/25 02:50] jk |
im:android:basics:chatroom [2020/03/13 09:13] zhaoliang [注册聊天室监听] |
||
---|---|---|---|
行 11: | 行 11: | ||
* 不支持 REST 邀请。 | * 不支持 REST 邀请。 | ||
* 聊天室API通常是同步操作,需要在单独的线程中执行,如需使用异步API,请使用async前缀对应的API | * 聊天室API通常是同步操作,需要在单独的线程中执行,如需使用异步API,请使用async前缀对应的API | ||
- | ===== 服务器端 ===== | ||
- | ==== 创建聊天室 ==== | + | 环信聊天室客户端的主要特性包括: |
- | + | ||
- | <code> | + | |
- | curl -X POST “http://a1.easemob.com/easemob-demo/chatdemoui/chatrooms” -H “Authorization: Bearer ${token}” -d ‘{“owner”:”u1”,”members”:[“u1”,”u2”],”maxusers”:5000,”groupname”:”chatroom title”,”desc”:”chatroom description”}” | + | |
- | </code> | + | |
- | + | ||
- | ==== 查询所有 APP 聊天室 ==== | + | |
- | + | ||
- | <code> | + | |
- | curl -X GET “http://a1.easemob.com/easemob-demo/chatdemoui/chatrooms” -H “Authorization: Bearer ${token}” | + | |
- | </code> | + | |
- | + | ||
- | ==== 查询聊天室详情 ==== | + | |
- | + | ||
- | <code> | + | |
- | curl -X GET “http://a1.easemob.com/easemob-demo/chatdemoui/chatrooms/1430798028680235” -H “Authorization: Bearer ${token}” | + | |
- | </code> | + | |
- | + | ||
- | ==== 聊天室踢人 ==== | + | |
- | + | ||
- | <code> | + | |
- | curl -X DELETE ‘https://a1.easemob.com/easemob-demo/chatdemoui/chatrooms/1430798028680235/users/u2’ -H “Authorization: Bearer ${token}” | + | |
- | </code> | + | |
- | + | ||
- | ==== 删除聊天室 ==== | + | |
- | + | ||
- | <code> | + | |
- | curl -X DELETE ‘https://a1.easemob.com/easemob-demo/chatdemoui/chatrooms/143228117786605’ -H “Authorization: Bearer ${token}” | + | |
- | </code> | + | |
- | + | ||
- | 更多服务器端 REST 操作请参考[[im:server:basics:chatroom|聊天室管理]]。 | + | |
- | + | ||
- | ===== 客户端 ===== | + | |
* 支持查询所有 APP 聊天室; | * 支持查询所有 APP 聊天室; | ||
行 52: | 行 19: | ||
* 退出聊天室; | * 退出聊天室; | ||
* 客户端的 API 都是通过''EMChatroomManager(EMClient.getInstance().chatroomManager())''操作。 | * 客户端的 API 都是通过''EMChatroomManager(EMClient.getInstance().chatroomManager())''操作。 | ||
+ | |||
+ | ==== 服务器端API ==== | ||
+ | |||
+ | 服务器端聊天室有关的 REST 操作请参考[[im:server:basics:chatroom|聊天室管理]]。 | ||
==== 加入聊天室 ==== | ==== 加入聊天室 ==== | ||
行 203: | 行 174: | ||
*/ | */ | ||
Map<String, Long> mutes = EMClient.getInstance().chatroomManager().fetchChatRoomMuteList(String chatRoomId, int pageNum, int pageSize); | Map<String, Long> mutes = EMClient.getInstance().chatroomManager().fetchChatRoomMuteList(String chatRoomId, int pageNum, int pageSize); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== 开启和关闭全员禁言 ==== | ||
+ | owner和管理员可以开启和关闭全员禁言。 | ||
+ | <code java> | ||
+ | /** | ||
+ | * \~chinese | ||
+ | * 禁言所有成员 | ||
+ | * @param chatRoomId | ||
+ | */ | ||
+ | public void muteAllMembers(final String chatRoomId, final EMValueCallBack<EMGroup> callBack) | ||
+ | | ||
+ | /** | ||
+ | * \~chinese | ||
+ | * 解除所有成员禁言 | ||
+ | * @param chatRoomId | ||
+ | */ | ||
+ | public void unmuteAllMembers(final String chatRoomId, final EMValueCallBack<EMGroup> callBack) | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== 白名单管理 ==== | ||
+ | 可以将用户添加到白名单中,用户白名单在管理员开启了全员禁言时生效,可以运行白名单用户发出消息。 | ||
+ | 另外可以将用户移出白名单,检查自己是否在白名单中以及获取白名单列表。 | ||
+ | <code java> | ||
+ | /** | ||
+ | * \~chinese | ||
+ | * 添加用户到白名单 | ||
+ | * @param chatRoomId | ||
+ | * @param members 成员id列表 | ||
+ | */ | ||
+ | public void addToChatRoomWhiteList(final String chatRoomId, final List<String> members, final EMCallBack callBack) | ||
+ | |||
+ | /** | ||
+ | * \~chinese | ||
+ | * 将用户从白名单移除 | ||
+ | * @param chatRoomId | ||
+ | * @param members 成员id列表 | ||
+ | */ | ||
+ | public void removeFromChatRoomWhiteList(final String chatRoomId, final List<String> members, final EMCallBack callBack) | ||
+ | |||
+ | /** | ||
+ | * \~chinese | ||
+ | * 检查自己是否在白名单中 | ||
+ | * @param groupId 群组id | ||
+ | */ | ||
+ | public void checkIfInChatRoomWhiteList(final String chatRoomId, EMValueCallBack<Boolean> callBack) | ||
+ | |||
+ | /** | ||
+ | * \~chinese | ||
+ | * 从服务器获取白名单成员列表 | ||
+ | * @param groupId 群组id | ||
+ | */ | ||
+ | public void fetchChatRoomWhiteList(final String chatRoomId, final EMValueCallBack<List<String>> callBack) | ||
</code> | </code> | ||
行 251: | 行 277: | ||
</code> | </code> | ||
+ | 也可以通过聊天室监听接口来获取聊天室公告的消息推送。见[[http://docs-im.easemob.com/im/android/basics/chatroom#注册聊天室监听 |注册聊天室监听]] | ||
==== 更新聊天室公告 ==== | ==== 更新聊天室公告 ==== | ||
行 260: | 行 287: | ||
+ | 也可以通过聊天室监听接口来获取聊天室公告的消息推送。见[[http://docs-im.easemob.com/im/android/basics/chatroom#注册聊天室监听 |注册聊天室监听]] | ||
==== 注册聊天室监听 ==== | ==== 注册聊天室监听 ==== | ||
行 295: | 行 323: | ||
} | } | ||
+ | |||
+ | @Override | ||
+ | public void onWhiteListAdded(final String chatRoomId, final List<String> whitelist){ | ||
+ | | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void onWhiteListRemoved(final String chatRoomId, final List<String> whitelist) { | ||
+ | |||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void onAllMemberMuteStateChanged(final String chatRoomId, final boolean isMuted) { | ||
+ | | ||
+ | } | ||
@Override | @Override |