Channel Groups API for PubNub Mbed SDK

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

Learn more about our Channel Groups here.

Channel Group operations

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

Adding 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.

Description

This function adds a channel to a channel group.

Method(s)

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

enum pubnub_res pubnub_add_channel_to_group (pubnub_t *p, char const *channel, char const *channel_group)
ParameterTypeRequiredDescription
ppubnub_t*YesPointer to PubNub client context.
channelchar const*YesThe channel to add
channel_groupchar const*YesThe channel group to add to

Basic Usage

Adding Channels

static char *channel_group = "family";
enum pubnub_res res;
res = pubnub_add_channel_to_group(pn, "wife", channel_group);
return check_response(pn, res);

Rest Response from Server

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

Listing 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.

Description

This function lists all the channels of the channel group.

Method(s)

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

enum pubnub_res pubnub_list_channel_group (pubnub_t *p, char const *channel_group)
ParameterTypeRequiredDescription
ppubnub_t*YesPointer to PubNub client context.
channel_groupchar const*YesThe channel group to list channels from

Basic Usage

Listing Channels

static char *channel_group = "family";
pubnub_list_channel_group(ctx, channel_group);
pbresult = pubnub_await(ctx);
if (PNR_OK == pbresult) {
char const *json_response = pubnub_get(ctx);
}

Rest Response from Server

{
"status" : 200,
"payload" : {
"channels" : ["hi"],
"group" : "abcd"
},
"service" : "channel-registry",
"error" : False
}

Removing 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.

Description

This function removes the channels from the channel group.

Method(s)

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

enum pubnub_res pubnub_remove_channel_from_group (pubnub_t *p, char const *channel, char const *channel_group)
ParameterTypeRequiredDescription
ppubnub_t*YesPointer to PubNub client context.
channelchar const*YesThe channel to remove
channel_groupchar const*YesThe channel group to remove from

Basic Usage

Removing channels :

static char *channel_group = "family";
enum pubnub_res res;
res = pubnub_remove_channel_from_group(pn, "son", channel_group);
return check_response(pn, res);

Rest Response from Server

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

Deleting 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.

Description

This function removes the channel group.

Method(s)

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

enum pubnub_res pubnub_remove_channel_group (pubnub_t *p, char const *channel_group)
ParameterTypeRequiredDescription
ppubnub_t*YesPointer to PubNub client context.
channel_groupchar const*YesThe channel group to remove.

Basic Usage

Deleting Channel Group

static char *channel_group = "family";
enum pubnub_res res;
res = pubnub_remove_channel_group(pn, channel_group);
return check_response(pn, res);

Rest Response from Server

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