On this page

Channel Groups API for Java SDK

Breaking changes in v9.0.0

PubNub Java SDK version 9.0.0 unifies the codebases for Java and Kotlin SDKs, introduces a new way of instantiating the PubNub client, and changes asynchronous API callbacks and emitted status events. These changes can impact applications built with previous versions (< 9.0.0) of the Java SDK.

For more details about what has changed, refer to Java/Kotlin SDK migration guide.

Channel groups allow PubNub developers to bundle thousands of channels into a group that can be identified by a name. These channel groups can then be subscribed to, receiving data from the many back-end channels the channel group contains.

Channel group operations

You can't publish to a channel group. You can only subscribe to it. To publish within the channel group, you need to publish to each channel individually.

Add channels to a channel group

Requires Stream Controller add-on

This method requires that the Stream Controller add-on is enabled for your key in the PubNub Admin Portal. Read the support page on enabling add-on features on your keys.

This function adds channels to a channel group.

Method(s)

Use the following method in the Java SDK:

Maximum number of channels

You can add up to 200 channels to a channel group per API call.

1this.pubnub.addChannelsToChannelGroup()
2 .channelGroup(String)
3 .channels(Array)
* required
ParameterDescription
channelGroup *
Type: String
The channel group to add the channels to.
channels *
Type: Array
The channels to add to the channel group.
async *
Type: Consumer<Result>
Consumer of a Result of type PNChannelGroupsAddChannelResult

Sample code

Reference code
This example is a self-contained code snippet ready to be run. It includes necessary imports and executes methods with console logging. Use it as a reference when working with other examples in this document.

Add channels

1

Response

The addChannelsToChannelGroup() does not return actionable data, be sure to check result object on the outcome of the operation by checking the result.isFailure(); or handling exception result.onFailure(exception -> { });.

List channels in a channel group

Requires Stream Controller add-on

This method requires that the Stream Controller add-on is enabled for your key in the Admin Portal. Read the support page on enabling add-on features on your keys.

This function lists all channels in a channel group.

Method(s)

Use the following method in the Java SDK:

1pubnub.listChannelsForChannelGroup()
2 .channelGroup(String)
3 .async(result -> { /* check result */ });
* required
ParameterDescription
channelGroup *
Type: String
The channel group for which to list channels.
async *
Type: Consumer<Result>
Consumer of a Result of type PNChannelGroupsAllChannelsResult.

Sample code

List channels

1

Returns

The listChannelsForChannelGroup() operation returns a PNChannelGroupsAllChannelsResult which contains the following operations:

MethodDescription
getChannels()
Type: List<String>
List of channels of a channel group.

Remove channels from a channel group

Requires Stream Controller add-on

This method requires that the Stream Controller add-on is enabled for your key in the Admin Portal. Read the support page on enabling add-on features on your keys.

This function removes channels from a channel group.

Method(s)

Use the following method in the Java SDK:

1pubnub.removeChannelsFromChannelGroup()
2 .channelGroup(String)
3 .channels(Array)
* required
ParameterDescription
channels *
Type: Array
The channels to remove from the channel group.
channelGroup *
Type: String
The channel group from which to remove the channels.
async
Type: Consumer<Result>
Consumer of a Result of type PNChannelGroupsRemoveChannelResult.

Sample code

Remove channels

1

Response

The removeChannelsFromChannelGroup() does not return actionable data, be sure to check result object on the outcome of the operation by checking the result.isFailure(); or handling exception result.onFailure(exception -> { });.

Delete a channel group

Requires Stream Controller add-on

This method requires that the Stream Controller add-on is enabled for your key in the Admin Portal. Read the support page on enabling add-on features on your keys.

This function deletes a channel group.

Method(s)

Use the following method in the Java SDK:

1pubnub.deleteChannelGroup()
2 .channelGroup(String)
* required
ParameterDescription
channelGroup *
Type: String
The channel group to delete.
async
Type: Consumer<Result>
Consumer of a Result of type PNChannelGroupsDeleteGroupResult.

Sample code

Delete channel group

1

Response

The deleteChannelGroup() does not return actionable data, be sure to check result object on the outcome of the operation by checking the result.isFailure(); or handling exception result.onFailure(exception -> { });.

Last updated on