Group channel overview
Chat UI SDK provides ready-to-use UI pages for group channels and group profile management. A group chat message page is still opened through a ChannelIdentifier whose type is ChannelType.GROUP; group profile and group-management pages are built on top of the group handlers in nexconn-chatui.
What Chat UI provides
- Group channel message UI for sending, receiving, and displaying group messages.
- Group profile pages, including group information, member list, announcement, managers, follows, owner transfer, and member operations.
- Group list and group search pages.
- Handler classes such as
GroupInfoHandler,GroupMembersPagedHandler,GroupJoinedPagedHandler, andGroupOperationsHandlerfor loading and operating on group data. ChatUIFragmentFactorymethods that let you replace group Fragments with custom implementations.
Data responsibility
Chat UI reads and writes group data through the Nexconn Chat SDK. Your app is still responsible for its own business rules, such as permission checks, audit flows, and any data that belongs to your application server.
For example, when your app customizes a group page, keep the following boundaries clear:
- Use Chat UI pages and handlers for UI presentation and SDK operations.
- Keep app-specific permission rules and approval logic on your application side.
- Keep any additional profile fields that are not provided by the SDK in your own backend.
- Use the related group pages to customize user-facing workflows instead of changing SDK internals.
Open group pages
Open a group channel by passing a ChannelIdentifier with ChannelType.GROUP.
- Kotlin
- Java
kotlin
import ai.nexconn.chat.channel.ChannelType
import ai.nexconn.chat.channel.model.ChannelIdentifier
import ai.nexconn.chatui.usermanage.group.list.GroupListActivity
import ai.nexconn.chatui.usermanage.group.profile.GroupProfileActivity
import ai.nexconn.chatui.utils.route.RouteUtils
// Open the current user's joined group list.
startActivity(GroupListActivity.newIntent(this))
// Open a group channel page.
RouteUtils.routeToChannelActivity(
this,
ChannelIdentifier(ChannelType.GROUP, "groupId"),
)
// Open a group profile page.
startActivity(
GroupProfileActivity.newIntent(
this,
ChannelIdentifier(ChannelType.GROUP, "groupId"),
),
)
Java
import ai.nexconn.chat.channel.ChannelType;
import ai.nexconn.chat.channel.model.ChannelIdentifier;
import ai.nexconn.chatui.usermanage.group.list.GroupListActivity;
import ai.nexconn.chatui.usermanage.group.profile.GroupProfileActivity;
import ai.nexconn.chatui.utils.route.RouteUtils;
// Open the current user's joined group list.
startActivity(GroupListActivity.newIntent(this));
ChannelIdentifier identifier = new ChannelIdentifier(ChannelType.GROUP, "groupId");
// Open a group channel page.
RouteUtils.routeToChannelActivity(this, identifier);
// Open a group profile page.
startActivity(GroupProfileActivity.newIntent(this, identifier));
Key group handlers
| Handler | Purpose |
|---|---|
GroupInfoHandler | Loads group information, specified group members, searched group members, and followed group members. |
GroupMembersPagedHandler | Loads group members by role with pagination. |
GroupMembersFullHandler | Loads all members by role when the full member set is required. |
GroupJoinedPagedHandler | Loads the groups joined by the current user. |
GroupOperationsHandler | Creates groups, invites or removes members, updates group information, sets member information, quits or dismisses groups, manages follows and managers, transfers ownership, and joins groups. |
GroupApplicationOperationsHandler | Handles group application review operations. |