- Create Group
- Join Group
- View Members
- Add Member
- Ban Member
- Change Member Scope
- Transfer Ownership
Overview
A user can create or join a group, then open a dialog to:- View current members.
- Add or ban participants.
- Change member roles (e.g., member, moderator).
- Delegate group ownership.
Prerequisites
- Android Studio project with cometchat/cometchat-uikit-android and cometchat/chat-sdk-android in
build.gradle
. - Internet permission in
AndroidManifest.xml
. - Valid CometChat App ID, Region, and Auth Key configured via
UIKitSettings
. - User logged in with
CometChatUIKit.login()
. - A
MessagesActivity
(orConversationActivity
) and an optionalGroupDetailsActivity
in your flow.
Components
Component / Class | Role |
---|---|
FloatingActionButton | Triggers the group-management options dialog. |
GroupMembersRequest | Fetches current group members. |
UsersRequest | Fetches all app users for the “Add Member” list. |
CometChat.createGroup(...) | Creates a new public or private group. |
CometChat.joinGroup(...) | Joins an existing group by GUID. |
CometChat.addMembersToGroup(...) | Adds selected users to the group. |
CometChat.banGroupMember(...) | Bans a member from the group. |
CometChat.updateGroupMemberScope(...) | Changes a member’s role (scope). |
CometChat.transferGroupOwnership(...) | Delegates group ownership to another member. |
Integration Steps
1. Layout/UI Setup
Add a FAB to launch the group-management dialog.activity_messages.xml
2. Wiring UI in Activity
Initialize UIKit views and respond to FAB clicks.MessagesActivity.java
3. Create & Join Group
Allow users to create or join a group via Core SDK.GroupDetailsActivity.java
4. View Group Members
Fetch and display the current member list.GroupDetailsActivity.java
5. Add Member
Select users not in the group and add them.GroupDetailsActivity.java
6. Ban Member, Change Scope & Transfer Ownership
Perform moderation actions on selected members.GroupDetailsActivity.java
Implementation Flow Summary
Step | Action |
---|---|
1 | User taps FAB → showGroupActionsDialog() |
2 | Select operation (e.g., View Members) |
3 | Fetch data via GroupMembersRequest |
4 | Call Core SDK method for chosen operation |
5 | Show success or error feedback |
Customization Options
- Use a BottomSheetDialog instead of a standard dialog.
- Implement multi-select for bulk actions (e.g., add multiple members).
- Replace default dialogs with custom RecyclerView lists.
- Control permissions: show options only to admins or owners.
Error Handling & Edge Cases
- Not in Group: Disable join option if user is already member.
- Permission Denied: Only show ban/transfer options to group admins.
- Empty Lists: Display an empty-state view if no members or users.
- Pagination: Implement
fetchNext()
in scroll listeners for large groups.
Feature Matrix
Feature | SDK Method | Selection Source |
---|---|---|
Create Group | CometChat.createGroup() | Dialog input |
Join Group | CometChat.joinGroup() | Dialog input |
View Members | GroupMembersRequest.fetchNext() | Group members list |
Add Member | CometChat.addMembersToGroup() | App users list |
Ban Member | CometChat.banGroupMember() | Group members list |
Change Member Scope | CometChat.updateGroupMemberScope() | Group members list |
Transfer Ownership | CometChat.transferGroupOwnership() | Group members list |
Android Sample App (Java)
Explore this feature in the CometChat SampleApp:
GitHub → SampleApp
Android Sample App (Kotlin)
Explore this feature in the CometChat SampleApp:
GitHub → SampleApp