Releases: OneSignal/react-onesignal
1.4.0
🔥 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
🔥 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
🔥 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
🔥 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
🔥 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! 🚀