Skip to main content

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, and GroupOperationsHandler for loading and operating on group data.
  • ChatUIFragmentFactory methods 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
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"),
),
)

Key group handlers

HandlerPurpose
GroupInfoHandlerLoads group information, specified group members, searched group members, and followed group members.
GroupMembersPagedHandlerLoads group members by role with pagination.
GroupMembersFullHandlerLoads all members by role when the full member set is required.
GroupJoinedPagedHandlerLoads the groups joined by the current user.
GroupOperationsHandlerCreates groups, invites or removes members, updates group information, sets member information, quits or dismisses groups, manages follows and managers, transfers ownership, and joins groups.
GroupApplicationOperationsHandlerHandles group application review operations.