You need to enable JavaScript to run this app.
导航

群组相关

最近更新时间2023.09.25 19:45:01

首次发布时间2023.04.24 11:11:47

本文档提供群组相关的类型和接口使用说明。API 接口详细文档参看 Android API 参考iOS API 参考Web API 参考微信小程序 API 参考

群组管理

群组管理功能指的是创建群组、添加群成员、获取已加入的群组、退出群组和解散群组等,接口位于 BIMClient 类中。

创建群

使用 createGroupConversation 创建群组多人聊天功能,同时支持设置群头像,群名称和群描述。如果不使用群信息可以传参 groupInfo 为 null。

/**
 * 创建群组
 * @param groupInfo 群组信息
 * @param uidList   群用户列表
 */
BIMGroupInfo groupInfo = new BIMGroupInfo.BIMGroupInfoBuilder()
        .avatarUrl("urlxxx")    //群头像
        .name("namexxx")        //群名称
        .description("descxxx") //群描述
        .build();
BIMClient.getInstance().createGroupConversation(groupInfo, uidList, new BIMResultCallback<BIMConversation>() {
    @Override
    public void onSuccess(BIMConversation bimConversation) {
        
    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

添加群成员

使用 addGroupMemberList 接口可以对已经存在的群组添加新的成员。

/**
 * 添加群成员
 * @param conversationId
 * @param ids 
 * @param callback
 */
BIMClient.getInstance().addGroupMemberList(conversationId, uidList, new BIMSimpleCallback() {
    @Override
    public void onSuccess() {
        
    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

退出群

当前用户使用 leaveGroup 接口可以退出自己参与的群组。

/**
 * 离开群组。
 * @param conversationId 会话 ID。
 * @param isDeleteServer 是否在服务器删除。
 * @param callback       结果回调。
 */
BIMClient.getInstance().leaveGroup(conversationId, isDeleteServer, new BIMSimpleCallback() {
    @Override
    public void onSuccess() {

    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

解散群

如果当前用户是群主,则可以使用 dissolveGroup 来解散群,群解散后,将无法送发消息到此群。

/**
 * 解散群组。
 * @param conversationId 会话 ID。
 * @param isDeleteLocal  是否在本地删除。
 * @param callback       结果回调。
 */
BIMClient.getInstance().dissolveGroup(conversationId, isDeleteLocal, new BIMSimpleCallback() {
    @Override
    public void onSuccess() {
        
    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

群资料

设置群组名称

使用 setGroupName 设置当前群的名称。

BIMClient.getInstance().setGroupName(conversationId, "", new BIMSimpleCallback() {
    @Override
    public void onSuccess() {
        
    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

设置群公告

使用 setGroupNotice 设置当前群的群公告。

/**
 * 设置群组名称。
 * @param conversationId 会话 ID。
 * @param name           群组名称。
 * @param callback       结果回调。
 */
BIMClient.getInstance().setGroupNotice(conversationId, text,callback)

群成员管理

获取群成员列表

使用 getConversationMemberList 获取当前群的成员列表。

/**
 * 获取群成员。
 * @param conversationId 会话 ID。
 * @param callback       群成员列表回调。
 */
BIMClient.getInstance().getConversationMemberList(conversationId, new BIMResultCallback<List<BIMMember>>() {
    @Override
    public void onSuccess(List<BIMMember> bimMembers) {
        
    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

踢出

群主和管理员可通过 removeGroupMemberList 移出部分成员。

/**
 * 移除群成员。
 * @param conversationId 会话 ID。
 * @param ids            待移除的群成员 ID 列表。
 * @param callback       结果回调。
 */
BIMClient.getInstance().removeGroupMemberList(conversationId, uidList, new BIMSimpleCallback() {
    @Override
    public void onSuccess() {
        
    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});

设置群组用户角色

群成员角色和权限如下。

类型含义解散群添加成员移出成员退出群聊设置管理员
BIM_MEMBER_ROLE_NORMAL普通成员不支持不支持不支持支持不支持
BIM_MEMBER_ROLE_OWNER群主支持支持支持支持支持
BIM_MEMBER_ROLE_ADMIN管理员不支持支持支持支持支持

设置群管理员的示例代码如下。

/**
 * 设置群成员角色。
 * @param conversationId 会话 ID。
 * @param uidList        群成员 ID 列表。
 * @param role           群组角色。
 * @param callback       结果回调。
 */
BIMClient.getInstance().setGroupMemberRole(conversationId, uidList,BIMMemberRole.BIM_MEMBER_ROLE_ADMIN, new BIMSimpleCallback() {
    @Override
    public void onSuccess() {

    }

    @Override
    public void onFailed(BIMErrorCode bimErrorCode) {

    }
});