Mobile Push Notifications API for Angular2 SDK
The Mobile Push Notifications feature connects native PubNub publishing to third-party push services. Supported services include Google Android FCM (Firebase Cloud Messaging) and Apple iOS APNs (Apple Push Notification service).
Add a device to a push notifications channel
note
Enable Mobile Push Notifications for your key in the Admin Portal. See how to enable add-on features.
Enable mobile push notifications on a set of channels.
Method(s)
pubnub.push.addChannels({Array channels, String device, String pushGateway, String environment, String topic},Function callback)
Parameter | Description |
---|---|
channels *Type: Array Default: n/a | Channels to enable for push notifications. |
device *Type: String Default: n/a | Device ID (push token). |
pushGateway *Type: String Default: n/a | apns , apns2 or gcm . |
environment Type: String Default: development | APNs environment (for apns2 ). |
topic Type: String Default: n/a | APNs topic (bundle identifier). Required for apns2 . |
callback Type: Function Default: n/a | Callback invoked on completion. |
Sample code
Add device to channel
pubnub.push.addChannels(
{
channels: ['my_chat'],
device: 'A655FBA9931AB',
pushGateway: 'apns' // apns, gcm
},
function(status) {
if (status.error) {
console.log("operation failed w/ error:", status);
} else {
console.log("operation done!")
}
}
);
Response
{
error: false,
operation: 'PNPushNotificationEnabledChannelsOperation',
statusCode: 200
}
List push notifications channels for a device
note
Enable Mobile Push Notifications for your key in the Admin Portal. See how to enable add-on features.
Get all channels with push notifications for the specified push token.
Method(s)
pubnub.push.listChannels({String device, String pushGateway, String environment, String topic},Function callback)
Parameter | Description |
---|---|
device *Type: String Default: n/a | Device ID (push token). |
pushGateway *Type: String Default: n/a | apns , apns2 or gcm . |
environment Type: String Default: development | APNs environment (for apns2 ). |
topic Type: String Default: n/a | APNs topic (bundle identifier). Required for apns2 . |
callback Type: Function Default: n/a | Callback invoked on completion. |
Sample code
List channels for device
pubnub.push.listChannels(
{
device: 'A655FBA9931AB',
pushGateway: 'apns' // apns, gcm
},
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: 'PNPushNotificationEnabledChannelsOperation',
statusCode: 200
}
// Example of response
{
channels: [ 'a', 'b' ]
}
Remove a device from push notifications channels
note
Enable Mobile Push Notifications for your key in the Admin Portal. See how to enable add-on features.
Disable push notifications on selected channels.
Method(s)
pubnub.push.removeChannels({Array channels, String device, String pushGateway, String environment, String topic},Function callback)
Parameter | Description |
---|---|
channels *Type: Array Default: n/a | Channels to disable for push notifications. |
device *Type: String Default: n/a | Device ID (push token). |
pushGateway *Type: String Default: n/a | apns , apns2 or gcm . |
environment Type: String Default: development | APNs environment (for apns2 ). |
topic Type: String Default: n/a | APNs topic (bundle identifier). Required for apns2 . |
callback Type: Function Default: n/a | Callback invoked on completion. |
Sample code
Remove device from channel
pubnub.push.removeChannels(
{
channels: ['my_chat'],
device: 'A655FBA9931AB',
pushGateway: 'apns' // apns, gcm
},
function(status) {
if (status.error) {
console.log("operation failed w/ error:", status);
} else {
console.log("operation done!");
}
}
);
Response
{
error: false,
operation: 'PNPushNotificationEnabledChannelsOperation',
statusCode: 200
}
Remove a device from all push notifications channels
note
Enable Mobile Push Notifications for your key in the Admin Portal. See how to enable add-on features.
Disable push notifications from all channels registered for the specified push token.
Method(s)
pubnub.push.deleteDevice({String device, String pushGateway, String environment, String topic},Function callback)
Parameter | Description |
---|---|
device *Type: String Default: n/a | Device ID (push token). |
pushGateway *Type: String Default: n/a | apns , apns2 or gcm . |
environment Type: String Default: development | APNs environment (for apns2 ). |
topic Type: String Default: n/a | APNs topic (bundle identifier). Required for apns2 . |
callback Type: Function Default: n/a | Callback invoked on completion. |
Sample code
Remove all mobile push notifications
pubnub.push.deleteDevice(
{
device: 'A655FBA9931AB',
pushGateway: 'apns' // apns, gcm
},
function (status) {
if (status.error) {
console.log("operation failed w/ error:", status);
} else {
console.log("operation done!");
}
}
);
Response
{
error: false,
operation: 'PNPushNotificationEnabledChannelsOperation',
statusCode: 200
}