Skip to content

Releases: OneSignal/react-onesignal

1.4.0

30 Jul 18:02
Compare
Choose a tag to compare

🔥 Support new options

This version adds Safari support, as well as some new options to customize your OneSignal instance:

  • safari_web_id
  • prenotify
  • theme
  • offset
  • text
  • colors

Refer to the official documentation for more info on Safari support.

Thanks to @Matiyeu for the contribution! 🚀

1.3.0

19 Jun 18:05
Compare
Choose a tag to compare

🔥 Support OneSignal Tags and Audience Segmenting

You can now use sendTag and sendTags to set OneSignal tags for segment filtering.

Refer to the README:

// Send a tag to OneSignal for the current player
OneSignal.sendTag('tag', 'tagValue');

// Send multiple tags to OneSignal for the current player
const keyValues = {
  'tag1': 'value1',
  'tag2': 'value2',
  'tag3': 'value3',
};

OneSignal.sendTags(keyValues);

Thanks to @slothluvchunk for the contribution! 🚀

1.2.1

19 Jun 14:08
Compare
Choose a tag to compare

🔥 Support Event Listeners

We now support event listeners in OneSignal - you can listen for events such as subscriptionChange, notificationDismiss, etc.

For documentation on events and event listeners, check out the Web Push SDK docs.

Refer to the README:

To add an event listener to the OneSignal.push() array, pass an array of events to the ReactOneSignal.initialize() function as the third parameter.

Each object in the array should contain:

  • listener -- (optional) Default value: 'on'.
    Some events can be listened for via multiple listeners (e.g. .on(), .once()).
    Check the docs to see which listeners listen for your event.
    Example: 'on' | 'once'

  • event -- Name of the event being listened for.
    Example: 'subscriptionChange'

  • callback -- Callback function for event.
    Example: (value) => { console.log(value); }

const events = [
  {
    listener: 'once',
    event: 'subscriptionChange',
    callback: (isSubscribed) => {
      if (true === isSubscribed) {
        console.log('The user subscription state is now:', isSubscribed);
      }
    },
  },
  {
    event: 'notificationDisplay',
    callback: (event) => {
      console.warn('OneSignal notification displayed:', event);
    },
  },
  {
    event: 'notificationDismiss',
    callback: (event) => {
      console.warn('OneSignal notification dismissed:', event);
    },
  },
];


ReactOneSignal.initialize(applicationId, options, events);

Thanks to @slothluvchunk for the contribution! 🚀

1.1.19

28 May 16:52
Compare
Choose a tag to compare

🔥 Support External User ID

We now support setExternalUserId and getExternalUserId!

Refer to the README:

You can use setExternalUserId and getExternalUserId to track external user ID.

// Set external user ID
OneSignal.setExternalUserId('your_id');

// Get external user ID
const externalUserId = await OneSignal.getExternalUserId();

1.1.16

28 May 16:42
Compare
Choose a tag to compare

🔥 Support all OneSignal options in initialize

We now support all OneSignal options when initializing!

Refer to the README:

Simply initialize OneSignal with your token:

import OneSignal from 'react-onesignal';

OneSignal.initialize('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', options);

Where options is:

subdomainName?: string;
allowLocalhostAsSecureOrigin?: boolean;
requiresUserPrivacyConsent?: boolean;
persistNotification?: boolean;
autoResubscribe?: boolean;
autoRegister?: boolean;
notificationClickHandlerMatch?: string;
notificationClickHandlerAction?: string;
notifyButton?: {
  enable?: boolean;
  size?: 'small' | 'medium' | 'large';
  position?: 'bottom-left' | 'bottom-right';
  showCredit?: boolean;
}

Thanks to @David-Melo for the contribution! 🚀