功能描述
社群是一个由于共同主题而让大家聚集在一起的超大群组,可以在社群下根据不同兴趣创建多个话题。 社群用来管理群成员。社群下的所有话题不仅可以共享社群成员,还可以独立收发消息而不相互干扰。
- 社群和话题的管理接口在核心类 TencentImSDKPlugin.v2TIMManager.getGroupManager()中。
- 话题中的消息相关接口在核心类 TencentImSDKPlugin.v2TIMManager.getMessageManager()中。
社群管理
创建社群
创建支持话题的社群分两步:
- 创建 V2TIMGroupInfo对象,其中groupType设置为Community,isSupportTopic设置为true/YES。
- 调用 createGroup接口创建群组。
示例代码如下:
// 创建只会社群的话题
groupManager.createGroup(groupType: "Community", groupName: "社群",isSupportTopic: true);
获取加入的社群列表
调用 getJoinedCommunityList 获取已经加入的支持话题的社群列表。
示例代码如下:
// 获取加入的社群列表
V2TimValueCallback<List<V2TimGroupInfo>> groupList = await groupManager.getJoinedCommunityList();
其他管理接口
其他功能跟普通群组使用方法一样,涉及的接口有:
| 功能 | 相关API介绍 | 
|---|---|
| 加入社群 | joinGroup | 
| 退出社群 | quitGroup | 
| 解散社群 | dismissGroup | 
| 获取社群资料 | getGroupsInfo | 
| 修改社群资料 | setGroupInfo | 
| 获取社群成员列表 | getGroupMemberList | 
| 获取社群成员资料 | getGroupMembersInfo | 
| 修改社群成员资料 | setGroupMemberInfo | 
| 踢出社群成员 | kickGroupMember | 
话题管理
创建话题
创建话题分两步:
- 创建 V2TIMTopicInfo对象。
- 调用 createTopicInCommunity接口创建话题。
示例代码如下:
// 创建话题
groupManager.createTopicInCommunity(groupID: "groupID", topicInfo: V2TimTopicInfo.fromJson({
    "topicName":"topic"
}));
删除话题
调用 deleteTopicFromCommunity 接口删除话题。
示例代码如下:
// 删除话题
groupManager.deleteTopicFromCommunity(groupID: "",topicIDList:["topicID"]);
修改话题信息
修改话题信息分两步:
- 创建 V2TIMTopicInfo对象,并设置需要修改的字段
- 调用  setTopicInfo接口修改话题信息
示例代码如下:
// 修改话题信息
groupManager.setTopicInfo(topicInfo:V2TimTopicInfo.fromJson({
    "topicName":"topicName"
}));
获取话题列表
调用 getTopicInfoList  接口获取话题列表。
- 当 topicIDList 列表为空时,为获取该社群下的所有话题列表
- 当 topicIDList 填入指定的话题 ID 时,为获取填入的话题列表
示例代码如下:
// 获取话题列表
groupManager.getTopicInfoList(groupID: "",topicIDList: ['topicID']);
监听话题回调
在 V2TIMGroupListener 中增加了话题相关的回调方法,onTopicCreated,onTopicDeleted,onTopicInfoChanged,用来监听话题事件。 
示例代码如下:
V2TIMGroupListener v2TIMGroupListener = new V2TIMGroupListener() {
 onTopicCreated(String groupID, String topicID) {
      // 监听话题创建通知
  }
  onTopicDeleted(String groupID, List<String> topicIDList) {
      // 监听话题删除通知
  }
    onTopicInfoChanged(String groupID, V2TIMTopicInfo topicInfo) {
      // 监听话题信息更新通知
  }
};
V2TIMManager.getInstance().addGroupListener(v2TIMGroupListener);
话题消息
话题消息相关功能跟普通消息使用方法一样,涉及的接口有:
| 功能 | 接口 | 说明 | 
|---|---|---|
| 发送消息 | sendMessage | 参数 groupID 填为话题 topicID | 
| 接收消息 | V2TIMAdvancedMsgListener中的 onRecvNewMessage 方法 | 消息中的 groupID 即为话题 topicID | 
| 标记消息已读 | markGroupMessageAsRead | 参数 groupID 填为话题 topicID | 
| 获取历史消息 | getGroupHistoryMessageList | 参数 groupID 填为话题 topicID | 
| 撤回消息 | revokeMessage | 参数 groupID 填为话题 topicID | 
交流与反馈
欢迎加入 QQ 群进行技术交流和反馈问题,QQ 群:788910197。
