Push
Register and receive push notifications.
Requires Cordova plugin: phonegap-plugin-push
. For more info, please see the Push plugin docs.
For TypeScript users, see the Push plugin docs about using TypeScript for custom notifications.
https://github.com/phonegap/phonegap-plugin-push
Stuck on a Cordova issue?
If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.
Installation#
- Capacitor
- Cordova
- Enterprise
$ npm install phonegap-plugin-push $ npm install @ionic-native/push $ ionic cap sync
$ ionic cordova plugin add phonegap-plugin-push $ npm install @ionic-native/push
Ionic Enterprise comes with fully supported and maintained plugins from the Ionic Team. Learn More or if you're interested in an enterprise version of this plugin Contact Us
#
Supported Platforms- Android
- Browser
- iOS
- Windows
#
Usage#
ReactLearn more about using Ionic Native components in React
#
Angularimport { Push, PushObject, PushOptions } from '@ionic-native/push/ngx';
constructor(private push: Push) { }
...
// to check if we have permissionthis.push.hasPermission() .then((res: any) => {
if (res.isEnabled) { console.log('We have permission to send push notifications'); } else { console.log('We do not have permission to send push notifications'); }
});
// Create a channel (Android O and above). You'll need to provide the id, description and importance properties.this.push.createChannel({ id: "testchannel1", description: "My first test channel", // The importance property goes from 1 = Lowest, 2 = Low, 3 = Normal, 4 = High and 5 = Highest. importance: 3, //badge is used to if badge appears on the app icon see https://developer.android.com/reference/android/app/NotificationChannel.html#setShowBadge(boolean). //false = no badge on app icon. //true = badge on app icon badge: false}).then(() => console.log('Channel created'));
// Delete a channel (Android O and above)this.push.deleteChannel('testchannel1').then(() => console.log('Channel deleted'));
// Return a list of currently configured channelsthis.push.listChannels().then((channels) => console.log('List of channels', channels))
// to initialize push notifications
const options: PushOptions = { android: {}, ios: { alert: 'true', badge: true, sound: 'false' }, windows: {}, browser: { pushServiceURL: 'http://push.api.phonegap.com/v1/push' }}
const pushObject: PushObject = this.push.init(options);
pushObject.on('notification').subscribe((notification: any) => console.log('Received a notification', notification));
pushObject.on('registration').subscribe((registration: any) => console.log('Device registered', registration));
pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));