User groups
User groups help you manage permissions in community channels. You typically use them to control access to private subchannels.
Concept
A user group is a collection of users in a community channel. When you link a user group to one or more private subchannels, every member of that group can access those subchannels.
Relationships
CommunityChannel
├── Subchannel A (private) ── linked to ── User Group 1
├── Subchannel B (private) ── linked to ── User Group 1, User Group 2
├── Subchannel C (public)
└── Subchannel D (private) ── linked to ── User Group 2
In this example:
- Members of User Group 1 can access Subchannel A and Subchannel B.
- Members of User Group 2 can access Subchannel B and Subchannel D.
- Subchannel C is public, so all community members can access it.
Use cases
- Role-based permissions: Create user groups by role, such as admin, moderator, or VIP, and link each group to the relevant private subchannels.
- Project collaboration: Create user groups by team or project so each team can access its own subchannels.
- Tiered access: Use groups to implement tiered content access in subscription or membership-based communities.
Managing user groups
Manage user groups through the Server API. The current Android SDK does not expose a dedicated user-group management API or listener API.
| Operation | Server API |
|---|---|
| Create a user group | Create User Group |
| Delete a user group | Delete User Group |
| Add members to a user group | Add User Group Members |
| Remove members from a user group | Remove User Group Members |
| Bind user group to subchannel | Bind User Group to Subchannel |
| Unbind user group from subchannel | Unbind User Group from Subchannel |
| Get user groups in a community | Get User Groups |
Listening for user group changes (client)
The current Android SDK does not expose a dedicated user-group listener on NCEngine. Community channel events are handled via ChannelHandler (registered with NCEngine.addChannelHandler()), but this handler does not include user-group-specific callbacks. Treat user-group creation, membership changes, and bindings as Server API concerns until a public client-side listener is added.
If your app needs to react to user-group changes in real time, handle those changes through your own app server or wait for an Android SDK release that exposes a public listener API.
Limitations
- User groups are only effective for private subchannels. Public subchannels are accessible to all community members regardless of user group membership.
- The maximum number of user groups per community channel depends on your service plan. Contact Nexconn sales for details.