Cordova - 3.0 API Reference
Removed Functions
In version 3, there are several functions you should remove.
Deprecated Functions | Replacement |
---|---|
init() | Half of the initialization process is now done for you automatically. Call setAppId to complete initialization. |
getPermissionSubscriptionState() | Replaced by getDeviceState() |
enableVibrate() | No replacement. |
enableSound() | No replacement. |
inFocusDisplaying() | Replaced by setNotificationWillShowInForegroundHandler() functionality. |
setNotificationReceivedHandler() | Replaced by setNotificationWillShowInForegroundHandler() functionality. |
setSubscription() | Replaced by disablePush() functionality. |
New Functions
Foreground Notification Control
In version 3, you can now specifically read notification data that will display while the app is in focus as well as change the display type dynamically. This allows developers to have even greater control over the notification experience.
Replaces inFocusDisplaying()
functionality.
setNotificationWillShowInForegroundHandler
Function
setNotificationWillShowInForegroundHandler
FunctionRuns before displaying a notification while the app is in focus. Use this handler to decide if the notification should show or not.
Note: this runs after the Notification Service Extension which can be used to modify the notification before showing it (native code).
The callback accepts the parameter OSNotification
.
window.plugins.OneSignal.setNotificationWillShowInForegroundHandler(function(notificationReceivedEvent) {
notificationReceivedEvent.complete(notificationReceivedEvent.notification);
});
the callback argument object has two functions:
Field | Description |
---|---|
complete() | Show Notification: Pass the notification to this function in order to display it while the app is in the foreground. Silence Notification: If you would like to silence the notification, call complete(null) with a null argument. |
notification | Retrieves the notification object. This returned object is of class ( OSNotification ). |
Handlers
setInAppMessageClickHandler
Function
setInAppMessageClickHandler
FunctionSet the callback to run on an In-App Message click.
var iamClickCallback = function(jsonData) {
var iamClickAction = JSON.stringify(jsonData);
console.log('iamClickCallback: ' + iamClickAction);
};
window.plugins.OneSignal.setInAppMessageClickHandler(iamClickCallback);
Parameter | Description |
---|---|
click_name | An optional click name entered defined by the app developer when creating the IAM. |
click_url | An optional URL that opens when the action takes place. |
closes_message | Whether tapping on the element closed the In-App Message. |
first_click | Whether this was the first action taken on the in app message. |
setNotificationOpenedHandler
Function
setNotificationOpenedHandler
FunctionSet the callback to run on notification open/click.
var notificationOpenedCallback = function(jsonData) {
var notificationData = JSON.stringify(jsonData)
console.log('notificationOpenedCallback: ' + notificationData);
};
window.plugins.OneSignal.setNotificationOpenedHandler(notificationOpenedCallback);
openedEvent
fields:
Parameter | Description |
---|---|
action | The action the user took on the notification. Parameter: type :0) notification was clicked 1) button was clicked actionId : The ID of the button on your notification that the user tapped |
notification | The notification the user received. Of class OSNotification |
Observers
Each callback you pass to an observer adder function will receive a state change object when fired that contains two parameters: to
and from
. The parameters on those objects are the same between the two. This format allows for the detection of the previous state and the new state.
Example: a change in the subscription state of the device might see the isSubscribed
parameter change from false
to true
. You can detect the change by the event.from.isSubscribed
and event.to.isSubscribed
objects.
addPermissionObserver
Function
addPermissionObserver
FunctionAdd a callback that fires when the native push permission changes.
Change event parameters:
Parameter | Description |
---|---|
hasPrompted (iOS) | Did the user answer the notification permission prompt. |
provisional (iOS) | Is provisional push authorization enabled. |
status | 0 - "NotDetermined" - The user hasn't yet made a choice about whether the app is allowed to schedule notifications. 1 - "Denied" - The app isn't authorized to schedule or receive notifications. 2 - "Authorized" - The app is authorized to schedule or receive notifications. 3 - "Provisional" - The application is provisionally authorized to post noninterruptive user notifications. See iOS Customizations 4 - "Ephemeral" - For App Clips. The app is authorized to schedule or receive notifications for a limited amount of time. |
addSubscriptionObserver
Function
addSubscriptionObserver
FunctionAdd a callback that fires when the OneSignal subscription state changes.
Change event parameters:
Parameter | Description |
---|---|
userId | The OneSignal player identifier. |
pushToken | The native push token identifier used by FCM / HMS / FireOS / APNs. |
isPushDisabled | Is push disabled (disablePush was called). |
isSubscribed (Android) | Whether the player is subscribed to OneSignal. |
addEmailSubscriptionObserver
Function
addEmailSubscriptionObserver
FunctionAdd a callback that fires when the OneSignal email subscription changes.
Change event parameters:
Parameter | Description |
---|---|
emailAddress | The email address associated with this player record. |
emailUserId | The UUID associated with the email record. |
isSubscribed | Whether the associated email record is subscribed to OneSignal messaging. |
Example
window.plugins.OneSignal.addEmailSubscriptionObserver(function(stateChanges) {
console.log("Email subscription state changed: \n" + JSON.stringify(stateChanges, null, 2));
});
window.plugins.OneSignal.addSubscriptionObserver(function(stateChanges) {
console.log("Push subscription state changed: " + JSON.stringify(stateChanges, null, 2));
});
window.plugins.OneSignal.addPermissionObserver(function(stateChanges) {
console.log("Push permission state changed: " + JSON.stringify(stateChanges, null, 2));
});
Other Functions
getDeviceState
Function
getDeviceState
Function(Async method) Returns an OSDeviceState
object with device info.
Do not cache
OSDeviceState
objectThis method returns a "snapshot" of the device state for when it was called. Make sure to call
getDeviceState
again to get the latest state.
window.plugins.OneSignal.getDeviceState(function(stateChanges) {
console.log('OneSignal getDeviceState: ' + JSON.stringify(stateChanges));
});
deviceState
parameters:
Type | Description |
---|---|
isSubscribed | Get whether the device is subscribed to receive OneSignal push notifications. |
hasNotificationPermission | Get whether notifications are enabled on the device at the app level. This is the same value as Android's. |
notificationPermissionStatus (iOS) | Get the user notification permission status |
isPushDisabled | Was push disabled with disablePush . |
userId | Get the OneSignal user (player) id |
pushToken | Get device's push token. This can be one of the following depending on the device: - Google FCM token - Huawei HMS token - FireOS token |
emailUserId | Get the OneSignal user email id. Only available if OneSignal.setEmail() was called. |
emailAddress | Get the user email address. Only available if OneSignal.setEmail() was called. |
isEmailSubscribed | Is there an associated email record that is subscribed to OneSignal messaging. |
requiresUserPrivacyConsent
Function
requiresUserPrivacyConsent
FunctionUse this function to retrieve a boolean that indicates the application requires privacy consent.
window.plugins.OneSignal.requiresUserPrivacyConsent(function(require) {
});
isLocationShared
Function
isLocationShared
FunctionUse this function to retrieve a boolean that indicates the application is sharing the location with OneSignal.
window.plugins.OneSignal.isLocationShared(function(shared) {
});
disablePush
Function
disablePush
FunctionUse this function to opt users out of receiving all notifications through OneSignal.
window.plugins.OneSignal.disablePush(true);
clearOneSignalNotifications
Function
clearOneSignalNotifications
FunctionAndroid Only, use this function to manually remove all OneSignal notifications from the Notification Shade.
window.plugins.OneSignal.clearOneSignalNotifications();
removeNotification
Function
removeNotification
FunctionAndroid Only, use this function to manually cancel a single OneSignal notification based on its Android notification integer ID.
window.plugins.OneSignal.removeNotification("NOTIFICATION_ID");
unsubscribeWhenNotificationsAreDisabled
Function
unsubscribeWhenNotificationsAreDisabled
FunctionAndroid Only, use this function to unsubscribe the user from OneSignal when notifications are disabled.
window.plugins.OneSignal.unsubscribeWhenNotificationsAreDisabled(true);
registerForProvisionalAuthorization
Function
registerForProvisionalAuthorization
FunctioniOS Only, use this function to retrieve a boolean that indicates if the user-provided provisional authorization see documentation for more details'
window.plugins.OneSignal.registerForProvisionalAuthorization(function(accepted) {
});
Other Additions / Changes
Name | Description |
---|---|
OSNotification | Contains all notification properties such as title, body, additionalData, etc... |
OSNotification
Object
OSNotification
ObjectIn version 4, the OSNotification
class is composed of all notification properties in a single object. This is the object passed into the notificationWillShowInForeground
handler.
Parameter | Description |
---|---|
additionalData | Custom additional data that was sent with the notification. Set on the dashboard under Options > Additional Data or with the data field on the REST API. |
notificationId | The OneSignal notification UUID. |
body | The body text of the notification. |
title | The title text of the notification. |
launchUrl | The URL opened when opening the notification. |
actionButtons | The list of action buttons on the notification. |
sound | The sound resource played when the notification is shown. |
rawPayload | The raw JSON payload string received from OneSignal. |
largeIcon (Android) | The large icon set on the notification. |
bigPicture (Android) | The big picture image set on the notification. |
smallIcon (Android) | The small icon resource name set on the notification. |
smallIconAccentColor (Android) | The accent color shown around small notification icon on Android 5+ devices. ARGB format. |
ledColor (Android) | LED string. Devices that have a notification LED will blink in this color. ARGB format. |
collapseId (Android) | The collapse id for the notification. |
priority (Android) | The priority of the notification. Values range from -2 to 2 (see Android's NotificationCompat reference for more info. |
fromProjectNumber (Android) | The Google project number the notification was sent under. |
groupKey (Android) | Notifications with this same key will be grouped together as a single summary notification. |
groupMessage (Android) | The summary text displayed in the summary notification. |
lockScreenVisibility (Android) | Privacy setting for how the notification should be shown on the lockscreen of Android 5+ devices.1 (Default) - Public (fully visible)0 - Private (Contents are hidden)-1 - Secret (not shown). |
badge (iOS) | The badge number assigned to the application icon. |
category (iOS) | Notification category key previously registered to display with. |
threadId (iOS) | iOS 10+ only. Groups notifications into threads. |
subtitle (iOS) | The message subtitle. |
attachments (iOS) | iOS 10+ only. Attachments sent as part of the rich notification. |
templateId (iOS) | Unique Template Identifier. |
templateName (iOS) | Name of Template. |
mutableContent (iOS) | True when the key mutable-content is set to 1 in the APNS payload. See Apple's documentation for more details. |
badgeIncrement (iOS) | The amount to increment the badge icon number. |
contentAvailable (iOS) | True when the key content-available is set to 1 in the APNS payload. Used to wake your app when the payload is received. See Apple's documentation for more details. |
setLogLevel
setLogLevel
setLogLevel
now accepts two params logLevel, visualLogLevel, instead of an object
.
Example:
window.plugins.OneSignal.setLogLevel({logLevel: 6, visualLevel: 0});
becomes window.plugins.OneSignal.setLogLevel(6, 0);
.
Updated almost 3 years ago