Channel Groups API for Android SDK

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

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 adds a channel to a channel group.

Method(s)

Adding Channels is accomplished by using the following method(s) in the Android SDK:

Maximum number of channels

200 channels can be added to the channel group per API call.

this.pubnub.addChannelsToChannelGroup()
.channelGroup(String)
.channels(Array)
* required
ParameterDescription
channelGroup *
Type: String
The channelGroup to add the channels to.
channels *
Type: Array
The channel to add to the channel group.
async *
Type: PNCallback
PNCallback of type PNChannelGroupsAddChannelResult

Basic Usage

Add Channels

pubnub.addChannelsToChannelGroup()
.channelGroup("cg1")
.channels(Arrays.asList("ch1", "ch2", "ch3"))
.async(new PNCallback<PNChannelGroupsAddChannelResult>() {
@Override
public void onResponse(PNChannelGroupsAddChannelResult result, PNStatus status) {

}
});

Response

The addChannelsToChannelGroup() does not return actionable data, be sure to check the status object on the outcome of the operation by checking the status.isError().

{
"service" : "channel-registry",
"status" : 200,
"error" : false,
"message" : "OK"
}

List Channels

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 the channels of the channel group.

Method(s)

Listing Channels is accomplished by using the following method(s) in the Android SDK:

pubnub.listChannelsForChannelGroup()
.channelGroup(String)
* required
ParameterDescription
channelGroup *
Type: String
Channel group to fetch the channels.
async *
Type: PNCallback
PNCallback of type PNChannelGroupsAllChannelsResult.

Basic Usage

List Channels

pubnub.listChannelsForChannelGroup()
.channelGroup("cg1")
.async(new PNCallback<PNChannelGroupsAllChannelsResult>() {
@Override
public void onResponse(PNChannelGroupsAllChannelsResult result, PNStatus status) {

}
});

Returns

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

MethodTypeDescription
getChannels()
List<String>
List of channels of a channel group.

Remove Channels

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 the channels from the channel group.

Method(s)

Removing Channels is accomplished by using the following method(s) in the Android SDK:

pubnub.removeChannelsFromChannelGroup()
.channelGroup(String)
.channels(Array)
* required
ParameterDescription
channels *
Type: Array
The channels to remove from the channel group.
channelGroup *
Type: String
Specifies channelGroup to remove the channels from.
async
Type: PNCallback
PNCallback of type PNChannelGroupsRemoveChannelResult.

Basic Usage

Remove channels

pubnub.removeChannelsFromChannelGroup()
.channelGroup("family")
.channels(Arrays.asList("son"))
.async(new PNCallback<PNChannelGroupsRemoveChannelResult>() {
@Override
public void onResponse(PNChannelGroupsRemoveChannelResult result, PNStatus status) {

}
});

Response

The removeChannelsFromChannelGroup() does not return actionable data, be sure to check the status object on the outcome of the operation by checking the status.isError().

{
"status" : 200,
"message" : "OK",
"service" : "channel-registry",
"error" : False
}

Delete 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 the channel group.

Method(s)

Deleting Channel Group is accomplished by using the following method(s) in the Android SDK:

pubnub.deleteChannelGroup()
.channelGroup(String)
* required
ParameterDescription
channelGroup *
Type: String
Specifies channelGroup to remove.
async
Type: PNCallback
PNCallback of type PNChannelGroupsDeleteGroupResult.

Basic Usage

Delete Channel Group

pubnub.deleteChannelGroup()
.channelGroup("family")
.async(new PNCallback<PNChannelGroupsDeleteGroupResult>() {
@Override
public void onResponse(PNChannelGroupsDeleteGroupResult result, PNStatus status) {

}
});

Response

The deleteChannelGroup() does not return actionable data, be sure to check the status object on the outcome of the operation by checking the status.isError().

{
"status" : 200,
"message" : "OK",
"service" : "channel-registry",
"error" : False
}
Last updated on