Skip to main content

Community channel overview

All community channel APIs are accessed through NCCommunityChannel.

A community channel provides a multi-user chat experience with no member limit. Members can build social connections within large communities and focus on content that interests them. Each user can join up to 100 community channels, and subchannels within a community share the same member list. There is no limit on the total number of community channels in an app.

The channel type (NCChannelType) is NCChannelTypeCommunity, identified by channelId.

Enable the service

  • Community channels are available exclusively on the Pro plan and are enabled by default.

Working with subchannels

Community channels support independent subchannels (identified by channelId on the client side). Messages, unread counts, and other data are aggregated per subchannel, and messages are isolated between subchannels.

Subchannels are categorized as public or private:

  • Public subchannels are open to all community members without requiring them to join.
  • Private subchannels are accessible only to users on the subchannel's member list.

For details on private subchannels, see Private subchannel overview.

Every community channel includes a default main subchannel with an empty string ID (""), open to all community members.

If your app only needs group chat–like functionality, you can leverage the unlimited member count to build groups larger than 3,000 members. In this case, send and receive all messages in the main subchannel.

For Discord-style subchannel communities, use the NCCommunityChannel subchannel APIs to create and manage custom subchannels.

Reference UI design

  • The left panel (red box) shows the community channel list for the current user. The plus (+) button at the bottom creates a new community channel.
  • The center panel (green box) shows the subchannel list within a community channel. Each subchannel is identified by its channelId.

![(height=500)](../assets/community channel/community channel-sample-ui.svg)

Management APIs

Community channels do not support client-side group data management. All business logic must be implemented on your app server.

For client developers, basic management operations like creating community channels and subchannels only require interaction with your app server, which calls the corresponding Nexconn Server APIs.

The following table lists the available management APIs:

tip

The Server API also provides additional management APIs for freezing and muting. See the Server API community channel documentation.

FeatureDescriptionClient APIServer API
Create / dismissProvide a creator user ID, community channel ID, and name to create a community. Dismissing a community removes all member relationships.Not availableCreate a community channel, Dismiss a community channel
Join / leaveAfter joining, the user can view new messages. After leaving, the user no longer receives messages.Not availableJoin a community channel, Leave a community channel
Update infoUpdate community channel info used in push notifications.Not availableUpdate community channel info
Create / delete subchannelsCreate independent subchannels within a community. Deleting a subchannel prevents further messaging.Not availableCreate a subchannel, Delete a subchannel
List subchannelsQuery the list of subchannels in a community channel.Not availableList subchannels
Change subchannel typeSwitch a subchannel between public and private at any time.Not availableChange subchannel type
Add / remove private subchannel membersAdd or remove community members from a private subchannel's member list.Not availableAdd private subchannel members, Remove private subchannel members