功能描述
群资料指的是与群组相关的一些信息,相关方法在核心类 TencentImSDKPlugin.v2TIMManager.getGroupManager()中。
获取群资料
您可以调用 getGroupsInfo 获取群资料。该接口支持一次传入多个 groupID,批量获取多个群的群资料。
代码示例如下:
// 获取群资料
V2TimValueCallback<List<V2TimGroupInfoResult>> groupinfos = await groupManager.getGroupsInfo(groupIDList: ['groupid1']);
修改群资料
您可以调用 setGroupInfo 修改群资料。
如果您事先调用 addGroupListener 添加了群组事件监听器,群资料被修改后,全员会收到 onGroupInfoChanged 回调。
不同类型的群组,可以修改群资料的成员角色不同:
| 群组类型 | 可以修改群基础资料的成员角色 | 
|---|---|
| 好友工作群(Work) | 所有群成员 | 
| 陌生人社交群(Public) | 群主和管理员 | 
| 临时会议群(Meeting) | 群主和管理员 | 
| 社群(Community) | 群主和管理员 | 
| 直播群(AVChatRoom) | 群主 | 
示例代码如下:
groupManager.setGroupInfo(info: V2TimGroupInfo.fromJson({
    "groupAddOpt":GroupAddOptTypeEnum.V2TIM_GROUP_ADD_AUTH
    // ...其他资料
  }));
// 回调
TencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onGroupInfoChanged: ((groupID, changeInfos) {
    // 群信息更改回调
  })));
设置群消息的接收选项
任何群成员都可以调用 setGroupReceiveMessageOpt 接口修改群消息接收选项。
V2TIMReceiveMessageOpt 的可选项有:
| 消息接收选项 | 含义 | 
|---|---|
| ReceiveMsgOptEnum.V2TIM_RECEIVE_MESSAGE | 在线正常接收消息,离线时会有厂商的离线推送通知。 | 
| ReceiveMsgOptEnum.V2TIM_NOT_RECEIVE_MESSAGE | 不会接收到群消息。 | 
| ReceiveMsgOptEnum.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE | 在线正常接收消息,离线不会有推送通知。 | 
使用不同的 V2TIMReceiveMessageOpt 可以实现群消息免打扰:
完全不接收群内消息
群消息接收选项设置为 V2TIM_NOT_RECEIVE_MESSAGE 后,群内的任何消息都收不到,会话列表也不会更新。
接收群内消息但不提醒,在会话列表界面显示小圆点(不显示未读数)
- 群消息接收选项设置为 V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE。
- 当群内收到新消息,会话列表需要更新时,可以通过会话 V2TIMConversation中的unreadCount获取到消息未读数。
- 根据 V2TIMConversation的recvOpt判断获取到的群消息接收选项为V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE时显示小红点而非消息未读数。
说明:
此方式需使用未读计数功能,因此仅适用于好友工作群(Work)和陌生人社交群(Public)。
示例代码如下:
// 社会群接收消息选项
groupManager.setGroupInfo(info: V2TimGroupInfo.fromJson({
    "groupAddOpt":GroupAddOptTypeEnum.V2TIM_GROUP_ADD_AUTH
    // ...其他资料
  }));
交流与反馈
欢迎加入 QQ 群进行技术交流和反馈问题,QQ 群:788910197。
