Skip to content

voltmx.notificationsettings Namespace

The voltmx.notificationsettings namespace provides the following API elements.

Functions

The voltmx.notificationsettings namespace provides the following functions.

voltmx.notificationsettings.createAction

This API helps you create an action that can be used with category.

Syntax

voltmx.notificationsettings.createAction (actionId, label, pspConfig)

Input Parameters

Parameter Description
actionId [String] - Mandatory Specifies a unique ID to identify the action chosen by a user.
label [String] - Mandatory Specifies a label that needs to be associated with a action.
pspConfig [JSObject] - Mandatory Specifies the configuration function. The parameters follow: image [Number] - Mandatory: This parameter is applicable only on the Android platform. Set the image to be displayed for notification settings. activationMode [Number] - Mandatory: Specifies the activation mode. The options are:voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS: If you set this option, the action will occur in the foreground and launches the application interface. voltmx.notificationsettings.ACTIVATION_MODE_BACKWARDS: If you set this option, the action will occur in the background without launching the application interface.> Note: The activationMode property is applicable only for the iOS platform. authenticationRequired [Boolean] - Mandatory: This parameter is applicable only on iOS platform. This parameter is applicable only when you set activationMode as voltmx.notificationsettings.ACTIVATION_MODE_BACKWARDS. The user needs to unlock the device, and action occurs in the background. destructive [Boolean] - Mandatory: This parameter is applicable only on iOS platform. Set this value to true, if the notification is self destructive. Otherwise, set it to false. visibleOn [String] - Mandatory: Set this parameter to display the notification on a watch, or both watch and phone. The options are:voltmx.notificationsettings.WATCH_ONLYvoltmx.notificationsettings.BOTH

Example

/*************************************************************************************
 * Function:registerActions()
 * Description: Creates Actions and a Category.
 * Author: Volt MX
 *************************************************************************************/
function registerActions() {
    var accept = voltmx.notificationsettings.createAction({
        "id": "Accept",
        "label": "Accept",
        "pspConfig": {
            "authenticationRequired": true,
            "destructive": true,
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });

    var reject = voltmx.notificationsettings.createAction({
        "id": "Reject",
        "label": "Reject",
        "pspConfig": {
            "authenticationRequired": false,
            "destructive": false,
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });

    var decline = voltmx.notificationsettings.createAction({
        "id": "Decline",
        "label": "Decline",
        "pspConfig": {
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_BACKWARDS,
            "authenticationRequired": true,
            "destructive": false,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });


    var defaultActionContextArr = [accept, reject, decline];
    var minimalActionContextArr = [accept, reject];

    var categoryObj = voltmx.notificationsettings.createCategory({
        "categoryId": "invitation",
        "actions": defaultActionContextArr,
        "pspConfig": {
            "minimalActions": minimalActionContextArr
        }
    });


    //Using voltmx.notificationsettings.registerCategory 

    var categoryArr = [categoryObj];

    var registerCategory = voltmx.notificationsettings.registerCategory({
        "categories": categoryArr,
        "pspConfig": {
            "types": [0, 1, 2]
        }
    });

}

Return values

This API returns action as a JavaScript object.

Platform Availability

Available on iOS and Android platforms.

voltmx.notificationsettings.createCategory

This API helps you create a category with a group of created actions.

Syntax

voltmx.localnotifications.createCategory (categoryId, actions, pspConfig:{minimalActions:[actions] , presentationOptions});

Input Parameters

Parameter Description
categoryId [String] - Mandatory Specifies a unique ID for the group of actions that are defined.
actions [array] - Mandatory Specifies the actions that are associated with the category. Pass null, if no actions are associated with the category.> Note: In Default Context, you cannot add more than four actions on the iOS platform and three actions in the Android platform.
pspConfig [JSObject] - Mandatory Specifies the configuration function. The parameter is:minimalActions [array] - Mandatory: This parameter is applicable only on the iOS platform. Specify the actions that are to be associated for minimal actions for the category. presentationOptions [array] - You can use this parameter to configure the presentation options of notifications. This is a iOS-specific parameter. This parameter is available from V9 SP2 onwards.You can pass an array of the following values:UNNotificationPresentationOptionBadge – 0: adds the notification badge icon.UNNotificationPresentationOptionSound – 1: plays the sound.UNNotificationPresentationOptionAlert – 2: displays the notification banner.> Note: In default mode, you cannot add more than two actions.

Return Values

This API returns category as a JavaScript object.

Remarks

  • If the presentationOptions parameter is not set, it is considered as no options are set and onlineNotification will not be shown.

  • Only the mentioned values of presentationOptions must be passed as array.

  • The input values for presentationOptions must consist of an array of minimum one value to a maximum of all three values. These options are applicable for all kinds of notifications.

  • Onclick of notification banner triggers the onlinenotification callback when the app is in foreground/active state, whereas the offlinenotification callback is triggered when the app is in background/inactive state.

Platform Availability

Available on iOS and Android platforms.

Example

Example 1:

var categoryObj = voltmx.notificationsettings.createCategory({
    "categoryId": "invitation",
    "actions": defaultActionContextArr,
    "pspConfig": {
        "minimalActions": minimalActionContextArr,
        "presentationOptions": [0, 1, 2]
    }
});

Example 2:

/*************************************************************************************
 * Function:registerActions()
 * Description: Creates Actions and a Category.
 * Author: Volt MX
 *************************************************************************************/
function registerActions() {
    var accept = voltmx.notificationsettings.createAction({
        "id": "Accept",
        "label": "Accept",
        "pspConfig": {
            "authenticationRequired": true,
            "destructive": true,
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });

    var reject = voltmx.notificationsettings.createAction({
        "id": "Reject",
        "label": "Reject",
        "pspConfig": {
            "authenticationRequired": false,
            "destructive": false,
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });

    var decline = voltmx.notificationsettings.createAction({
        "id": "Decline",
        "label": "Decline",
        "pspConfig": {
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_BACKWARDS,
            "authenticationRequired": true,
            "destructive": false,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });


    var defaultActionContextArr = [accept, reject, decline];
    var minimalActionContextArr = [accept, reject];

    var categoryObj = voltmx.notificationsettings.createCategory({
        "categoryId": "invitation",
        "actions": defaultActionContextArr,
        "pspConfig": {
            "minimalActions": minimalActionContextArr
        }
    });


    //Using voltmx.notificationsettings.registerCategory 

    var categoryArr = [categoryObj];

    var registerCategory = voltmx.notificationsettings.registerCategory({
        "categories": categoryArr,
        "pspConfig": {
            "types": [0, 1, 2]
        }
    });

}

voltmx.notificationsettings.registerCategory

This API helps you register the created category with the application.

Syntax

voltmx.notificationsettings.registerCategory (categories, pspConfig)

Input Parameters

Parameter Description
category [array] - Mandatory Specifies the category objects that are to be registered.
pspConfig [JSObject] - Optional This parameter is applicable on iOS platform only. It specifies the platform specific configuration function. The arguments are:
> types [String] - Mandatory: Configure this parameter to register the type of notification. The Array for iPhone must contain any or all of the following:0 - Specifies the notification type as Badge.1 - Specifies the notification type as Sound.2 - Specifies the notification type as Alert.> Note: If the types are not passed or pspConfig is not defined, then all the notification types are registered by the API.> Note: If the same API is invoked multiple times, the details of the last invoked call are updated.

|

Example

/*************************************************************************************
 * Function:registerActions()
 * Description: Creates Actions and a Category.
 * Author: Volt MX
 *************************************************************************************/
function registerActions() {
    var accept = voltmx.notificationsettings.createAction({
        "id": "Accept",
        "label": "Accept",
        "pspConfig": {
            "authenticationRequired": true,
            "destructive": true,
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });

    var reject = voltmx.notificationsettings.createAction({
        "id": "Reject",
        "label": "Reject",
        "pspConfig": {
            "authenticationRequired": false,
            "destructive": false,
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_FORWARDS,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });

    var decline = voltmx.notificationsettings.createAction({
        "id": "Decline",
        "label": "Decline",
        "pspConfig": {
            "activationMode": voltmx.notificationsettings.ACTIVATION_MODE_BACKWARDS,
            "authenticationRequired": true,
            "destructive": false,
            "visibleOn": voltmx.notificationsettings.BOTH
        }
    });


    var defaultActionContextArr = [accept, reject, decline];
    var minimalActionContextArr = [accept, reject];

    var categoryObj = voltmx.notificationsettings.createCategory({
        "categoryId": "invitation",
        "actions": defaultActionContextArr,
        "pspConfig": {
            "minimalActions": minimalActionContextArr
        }
    });


    //Using voltmx.notificationsettings.registerCategory 

    var categoryArr = [categoryObj];

    var registerCategory = voltmx.notificationsettings.registerCategory({
        "categories": categoryArr,
        "pspConfig": {
            "types": [0, 1, 2]
        }
    });

}

Return Values

None

Platform Availability

Available on iOS and Android platforms.

Handling Local and Remote Notifications Callbacks:

  • If the app is in the foreground state (app instance alive), an onlinecallback should be invoked.
  • If the app is in background state (app instance alive or not alive), an offlinecallback should be invoked.

voltmx.notificationsettings.pickTitleAndDescriptionFromPushPayload

Once you set the voltmx.notificationsettings.pickTitleAndDescriptionFromPushPayload API as true, the Title and Description details of the payload are considered. By default, the Title and Description information of the payload are not respected.

Syntax

voltmx.notificationsettings.pickTitleAndDescriptionFromPushPayload
(pickTitleAndDescriptionFromPushPayloadKey)

Input Parameters

Parameter Description
pickTitleAndDescriptionFromPushPayloadKey [Boolean] - Mandatory Set this input parameter as true to ensure that the Title and Description data of the payload are taken into consideration.

Example

var pickTitleAndDescriptionFromPushPayloadKey = true;
voltmx.notificationsettings.pickTitleAndDescriptionFromPushPayload (pickTitleAndDescriptionFromPushPayloadKey);

Remarks

  • The Boolean value that is passed in the pickTitleAndDescriptionFromPushPayloadKey input parameter is stored in Shared Preferences.

Platform Availability

  • Android

voltmx.notificationsettings.setProperties

You can use the voltmx.notificationsettings.setProperties API to set various properties of notifications that belong to a category.

Syntax

setProperties(categoryId, properties)

Input Parameters

Parameter Description
categoryId The category ID of the notification for which the priority is set. The value type of categoryId is String.
properties The configuration object of the category. The value type of properties is JSON object.Currently, the JSON object contains the priority key.priority: A property for setting priority to the notification object related to a category. The value type of priority is constant.The priority key contains one of the following constants:constants.NOTIFICATION_PRIORITY_DEFAULT: Default notification priority.constants.NOTIFICATION_PRIORITY_HIGH: Higher notification priority is set for important notifications.constants.NOTIFICATION_PRIORITY_LOW: Lower notification priority is set for notifications that are less important.constants.NOTIFICATION_PRIORITY_MAX: Highest notification priority is set for an app's most important items that require the end user's prompt inputs.constants.NOTIFICATION_PRIORITY_MIN: Lower notification priority is set for items that are less important. You can choose to display these items in a smaller size, or at a different position in the list compared to the app's PRIORITY_DEFAULT items.

Example

propTable = {};
propTable.priority = constants.NOTIFICATION_PRIORITY_HIGH;
setProperties({
    categoryId: "invitation",
    properties: propTable
});

Platform Availability

Android

voltmx.notificationsettings.setShowBadge

This API helps you to enable or disable notification badges for push/remote or local notifications that are only supported by Volt MX Iris Framework. By default, the visibility of the notification badge is set to true on Android 8.0 devices.

Syntax

voltmx.notificationsettings.setShowBadge(notificationChannelName, showBadgeValue)

Input Paramters

Parameter Description
notificationChannelName [String] - Mandatory The following values are applicable for this parameter:"localNotification""pushNotification"
showBadgeValue [Boolean] - Mandatory Set this value to false to disable the visibilty of the app notification badge.

Example

var notificationChannelName = "pushNotification";
var showBadgeValue = false;
voltmx.notificationsettings.setShowBadge(notificationChannelName, showBadgeValue);

Remarks

  • You must call this API in preapp init, as the badge visibility can only be set after the first notification is received. This is because the channel creation is done after the first notification is initiated; once the channel creation is done, the visibility of the notification badge cannot be modified.
  • Some launchers may not support the Notification Badge feature, even on devices with Android 8.0 and later.

Platform Availability

  • Android 8.0 and later