聊天室管理
更新时间: 2024/03/14 16:36:34
原型概览
返回值 | ChatRoomInfo 接口 | 说明 |
---|---|---|
String | getAnnouncement() | 获取聊天室公告 |
String | getBroadcastUrl() | 获取聊天室直播地址 |
String | getCreator() | 获取聊天室创建者帐号 |
Map | getExtension() | 获取聊天室扩展字段 |
String | getName() | 获取聊天室名称 |
int | getOnlineUserCount() | 获取当前在线用户数量 |
int | getQueueLevel() | 获取队列权限配置 |
String | getRoomId() | 获取聊天室id |
boolean | isMute() | 获取当前聊天室禁言状态 |
boolean | isValid() | 获取聊天室有效标记 |
void | setAnnouncement(String announcement) | 设置聊天室公告 |
void | setBroadcastUrl(String broadcastUrl) | 设置聊天室直播地址 |
void | setCreator(String creator) | 设置聊天室创建者 |
void | setExtension(Map extension) | 设置扩展字段 |
void | setMute(int mute) | 设置当前聊天室禁言状态 |
void | setName(String name) | 设置聊天室名称 |
void | setOnlineUserCount(int onlineUserCount) | 设置当前在线用户数量 |
void | setRoomId(String roomId) | 设置聊天室id |
void | setValidFlag(int validFlag) | 设置聊天室有效标记 |
void | setQueueLevel(int queueLevel) | 设置队列权限,0 表示所有人都有权限,1 表示只有主播/管理员有权限 |
聊天室管理
获取聊天室信息
此接口可以向服务器获取聊天室信息。SDK 不提供聊天室信息的缓存,开发者可根据需要自己做缓存。聊天室基本信息的扩展字段需要在服务器端设置,客户端 SDK 只提供查询。
- API 原型
java/**
* 获取当前聊天室信息
*
* @param roomId 聊天室id
* @return InvocationFuture 可以设置回调函数。回调中返回聊天室的信息
*/
InvocationFuture<ChatRoomInfo> fetchRoomInfo(String roomId);
- 示例
java// roomId为聊天室ID
NIMClient.getService(ChatRoomService.class).fetchRoomInfo(roomId).setCallback(new RequestCallback<ChatRoomInfo>() {
@Override
public void onSuccess(ChatRoomInfo param) {
// 成功
}
@Override
public void onFailed(int code) {
// 失败
}
@Override
public void onException(Throwable exception) {
// 错误
}
});
修改聊天室信息
支持修改聊天室信息,只有创建者和管理员拥有权限修改聊天室信息。可以设置修改是否通知,若设置通知,聊天室内会收到类型为NotificationType#ChatRoomInfoUpdated
的消息。
- API 原型
java/**
* 更新聊天室信息
*
* @param roomId 聊天室id
* @param chatRoomUpdateInfo 可更新的聊天室信息
* @param needNotify 是否通知
* @param notifyExtension 更新聊天室信息操作的扩展字段,这个字段会放到更新聊天室信息通知消息的扩展字段中
* @return InvocationFuture 可以设置回调函数。更新聊天室信息完成之后才会调用,如果出错,会有具体的错误代码。
*/
InvocationFuture<Void> updateRoomInfo(String roomId, ChatRoomUpdateInfo chatRoomUpdateInfo, boolean needNotify, Map<String, Object> notifyExtension);
java/**
* 更新聊天室信息
*
* @param roomId 聊天室id
* @param chatRoomUpdateInfo 可更新的聊天室信息
* @param needNotify 是否通知
* @param notifyExtension 更新聊天室信息扩展字段,这个字段会放到更新聊天室信息通知的扩展字段中
* @param antiSpamConfig 反垃圾配置参数
* @return InvocationFuture 可以设置回调函数。更新聊天室信息完成之后才会调用,如果出错,会有具体的错误代码。
*/
InvocationFuture<Void> updateRoomInfo(String roomId, ChatRoomUpdateInfo chatRoomUpdateInfo, boolean needNotify, Map<String, Object> notifyExtension,AntiSpamConfig antiSpamConfig);
- 参数说明
参数 | 说明 |
---|---|
roomId | 聊天室id |
chatRoomUpdateInfo | 可更新的聊天室信息 |
needNotify | 是否通知 |
notifyExtension | 更新聊天室信息扩展字段,这个字段会放到更新聊天室信息通知的扩展字段中 |
antiSpamConfig | 反垃圾配置参数 |
- 示例
java// 以更新聊天室信息为例
ChatRoomUpdateInfo updateInfo = new ChatRoomUpdateInfo();
updateInfo.setName("新聊天室名称");
NIMClient.getService(ChatRoomService.class).updateRoomInfo(roomId, updateInfo, false, "")
.setCallback(new RequestCallback<Void>() {
@Override
public void onSuccess(Void aVoid) {
// 成功
}
@Override
public void onFailed(int i) {
// 失败
}
@Override
public void onException(Throwable throwable) {
// 错误
}
});
此文档是否对你有帮助?