聊天室属性管理

更新时间:2022-02-28

聊天室属性管理指管理聊天室的属性信息。

环信即时通讯 IM SDK 提供 EMChatRoomManager 类和 EMChatRoom 类,支持聊天室属性管理。

  • fetchChatRoomFromServer 获取聊天室详情;
  • updateChatRoomAnnouncement 修改聊天室公告;
  • fetchChatRoomAnnouncement 获取聊天室公告;
  • changeChatRoomSubject 修改聊天室名称;
  • changeChatroomDescription 修改聊天室说明信息。

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

获取聊天室详情

聊天室所有成员可以通过该接口获取聊天室详情。

注意

  • 聊天室所有者、管理员和普通成员均可调用该接口;
  • 聊天室详情包括聊天室的主题、公告、描述、成员类型、管理员列表、当前聊天人数和聊天室最大成员数等。

示例代码如下:

// Asynchronous processing is required.
EMChatRoom chatRoom = EMClient.getInstance().chatroomManager().fetchChatRoomFromServer(chatRoomId);

修改聊天室公告

聊天室所有者和管理员可以设置和更新群公告。

注意

  • 聊天室所有者、管理员和普通成员均可调用该接口;
  • 成员仅当前在聊天室中才能收到通知;
  • 聊天室所有者或者管理员修改聊天室公告时,其它成员会收到聊天室公告更新的通知,触发 onAnnouncementChanged 回调方法。

示例代码如下:

// Asynchronous processing is required.
EMClient.getInstance().chatroomManager().updateChatRoomAnnouncement(chatRoomId, announcement);

获取聊天室公告

聊天室所有者和管理员可以设置和更新群公告,群成员可以获取群公告。

示例代码如下:

// Asynchronous processing is required.
String announcement = EMClient.getInstance().chatroomManager().fetchChatRoomAnnouncement(chatRoomId);

修改聊天室名称

聊天室所有者和管理员可以设置和修改聊天室名称,聊天室成员可以获取聊天室名称。

示例代码如下:

// Asynchronous processing is required.
EMChatRoom chatRoom = EMClient.getInstance().chatroomManager().changeChatRoomSubject(chatRoomId, newSubject);

修改聊天室说明信息

聊天室所有者和管理员可以设置和修改聊天室说明信息,聊天室成员可以获取聊天室说明信息。

示例代码如下:

// Asynchronous processing is required.
EMChatRoom chatRoom = EMClient.getInstance().chatroomManager().changeChatroomDescription(chatRoomId, newDescription);

聊天室相关回调