Channel Groups API for PubNub AngularJS 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 AngularJS SDK:
Note
200 channels
can be added to the channel group
per API call.
Pubnub.channelGroups.addChannels({Array channels, String channelGroup},Function callback)
Parameter | Type | Required | Description |
---|---|---|---|
Operation Arguments | Hash | Yes | A hash of arguments. |
channels | Array | Yes | The channel to add to the channel group. |
channelGroup | String | Yes | The channelGroup to add the channels to. |
callback | Function | Optional | Executes on a successful/unsuccessful addChannels . |
Basic Usage
Pubnub.channelGroups.addChannels(
{
channels: ['ch1', 'ch2'],
channelGroup: "myChannelGroup"
},
function(status) {
if (status.error) {
console.log("operation failed w/ status: ", status);
} else {
console.log("operation done!");
}
}
);
Response
{
error: false,
operation: "PNAddChannelsToGroupOperation",
statusCode: 200
}
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 AngularJS SDK:
Pubnub.channelGroups.listChannels({String channelGroup},Function callback)
Parameter | Type | Required | Description |
---|---|---|---|
Operation Arguments | Hash | Yes | A hash of arguments. |
channelGroup | String | Yes | Channel Group to list the channel(s) of. |
callback | Function | Optional | Executes on a successful/unsuccessful listChannels . |
Basic Usage
// assuming an intialized Pubnub instance already exists
Pubnub.channelGroups.listChannels(
{
channelGroup: "myChannelGroup"
},
function(status, response) {
if (status.error) {
console.log("operation failed w/ error:", status);
return;
}
console.log("listing push channel for device");
response.channels.forEach( function(channel) {
console.log(channel);
});
show all 17 linesResponse
// Example of Status
{
error: false,
operation: "PNChannelsForGroupOperation",
statusCode: 200
}
// Example of Response
{
channels: ["ch1", "ch2"]
}
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 AngularJS SDK:
Pubnub.channelGroups.removeChannels({Array channels, String channelGroup},Function callback)
Parameter | Type | Required | Description |
---|---|---|---|
Operation Arguments | Hash | Yes | A hash of arguments. |
channels | Array | Yes | The channel to remove from the channel group. |
channelGroup | String | Yes | The channelGroup to remove the channels from. |
callback | Function | Optional | Executes on a successful/unsuccessful removeChannels . |
Basic Usage
// assuming an initialized Pubnub instance already exists
Pubnub.channelGroups.removeChannels(
{
channels: ["son"],
channelGroup: "family"
},
function (status) {
if (status.error) {
console.log("operation failed w/ error:", status);
} else {
console.log("operation done!");
}
}
);
Response
{
error: false,
operation: "PNRemoveChannelsFromGroupOperation",
statusCode: 200
}
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 AngularJS SDK:
Pubnub.channelGroups.deleteGroup({String channelGroup},Function callback)
Parameter | Type | Required | Description |
---|---|---|---|
Operation Arguments | Hash | Yes | A hash of arguments. |
channelGroup | String | Yes | The channelGroup to remove. |
callback | Function | Optional | Executes on a successful/unsuccessful deleteGroup . |
Basic Usage
Pubnub.channelGroups.deleteGroup(
{
channelGroup: "family"
},
function (status) {
if (status.error) {
console.log("operation failed w/ error:", status);
} else {
console.log("operation done!");
}
}
);
Response
{
error: false,
operation: "PNRemoveGroupOperation",
statusCode: 200
}