管理聊天室属性

更新时间:2022-09-07

聊天室是支持多人沟通的即时通讯系统。本文指导你如何使用环信即时通讯 IM Flutter SDK 在实时互动 app 中实现聊天室的相关功能。

环信即时通讯 IM Flutter SDK 提供 EMChatRoomEMRoomManagerEMChatRoomEventHandler 类用于聊天室管理,支持你通过调用 API 在项目中实现如下功能:

  • 获取聊天室公告
  • 更新聊天室公告
  • 更新聊天室名称
  • 更新聊天室描述

开始前,请确保满足以下条件:

本节介绍如何使用环信即时通讯 IM Flutter SDK 提供的 API 实现上述功能。

获取聊天室公告

聊天室所有成员均可以调用 EMChatRoomManager#fetchChatRoomAnnouncement 方法获取聊天室公告。

示例代码如下:

try {
  String? announcement =
      await EMClient.getInstance.chatRoomManager.fetchChatRoomAnnouncement(
    roomId,
  );
} on EMError catch (e) {
}

更新聊天室公告

仅聊天室所有者和聊天室管理员可以调用 EMChatRoomManager#updateChatRoomAnnouncement 方法设置和更新聊天室公告,聊天室公告的长度限制为 512 个字符。公告更新后,其他聊天室成员收到 EMChatRoomEventHandler#onAnnouncementChangedFromChatRoom 事件。

示例代码如下:

try {
  await EMClient.getInstance.chatRoomManager.updateChatRoomAnnouncement(
    roomId,
    newAnnouncement,
  );
} on EMError catch (e) {
}

更新聊天室名称

仅聊天室所有者和聊天室管理员可以调用 EMChatRoomManager#changeChatRoomName 方法设置和更新聊天室名称,聊天室名称的长度限制为 128 个字符。

示例代码如下:

try {
  await EMClient.getInstance.chatRoomManager.changeChatRoomName(
    roomId,
    newName,
  );
} on EMError catch (e) {
}

更新聊天室描述

仅聊天室所有者和聊天室管理员可以调用 EMChatRoomManager#changeChatRoomDescription 方法设置和更新聊天室描述,聊天室描述的长度限制为 512 个字符。

示例代码如下:

try {
  await EMClient.getInstance.chatRoomManager.changeChatRoomDescription(
    roomId,
    newDesc,
  );
} on EMError catch (e) {
}

监听聊天室事件