Skip to main content

Push Notifications - WonderPush

Send unlimited push notifications to iOS and Android devices.

Get started in minutes: Ionic Quickstart Guide.

Advanced segmentation, automation and personalization of push messages for €1 per 1000 subscribers.

Requires the Cordova plugin wonderpush-cordova-sdk.

WonderPush push notifications are the most effective way to retain your users and grow your audience while remaining fully GDPR compliant.

https://github.com/wonderpush/wonderpush-cordova-sdk

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

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#

$ npm install wonderpush-cordova-sdk $ npm install @ionic-native/wonderpush $ ionic cap sync

Supported Platforms#

  • Android
  • iOS

Usage#

React#

Learn more about using Ionic Native components in React

Angular#

import { WonderPush } from '@ionic-native/wonderpush';

constructor(private wonderPush: WonderPush) { }
...
// Subscribe userthis.wonderPush.subscribeToNotifications()  .then(() => console.log("User subscribed to notifications"))  .catch((error: any) => console.error(error));

// Send an event (a purchase in this example)this.wonderPush.sendEvent('purchase', {  float_price: 12.99,  string_sku: "X123456"});
// Tag users (as customers)this.wonderPush.addTag('customer');
// Personalize// 1. Store user details.// 2. Use those details to create segments.// 3. Include those details in your notifications.this.wonderPush.putProperties({  string_name: 'John D.',  int_age: 24});
// GDPR// 1. set REQUIRES_USER_CONSENT=true to enable GDPR compliance.// 2. WonderPush doesn't start until setUserConsent(true) is called.const onClick = (userConsent: boolean) => this.wonderPush.setUserConsent(userConsent);
// Listen to notification clicksdocument.addEventListener('wonderpush.notificationOpen', function(event) {  console.log('Notification opened', event.notification);  if (event.notificationType === 'data') {    console.log('Silent notification', event.notification);  }});