Defines a step able to send notifications to mobile devices.

The Push Notifications step is used to make the sequence send a notification to mobile devices using one of the standard APNS (Apple), or GCM (Android) channels.
The list of devices to which send the notification is configured using the Device tokens property. The data to be sent in the notification is configured using the Notification data property.
Other properties (which names start by APNS or Google) are those to use in order to configure the technical parameters of the push system.
Note: For more information about using Push notifications in Convertigo, please refer to the article in our technical blog: http://www.convertigo.com/en/how-to/technical-blog/entry/using-convertigo-push-manager.html

Property Type Category Description
APNS certificate password JS expression standard Defines the password of the Apple .p12 certificate file.
This property is a JavaScript expression that is evaluated during the sequence execution and gives the valid password for the .p12 certificate file.
APNS client certificate JS expression standard Defines an Apple .p12 certificate file to use for push on iOS devices.
This property is a JavaScript expression that is evaluated during the sequence execution and gives the path of a .p12 certificate file. The .p12 file must be generated by Apple’s Certificate portal (https://developer.apple.com/account/overview.action). This path is either absolute or relative to Convertigo environment. Relative paths starting with:

./ are relative to Convertigo workspace,
.// are relative to current project folder.

Note: Do not put the .p12 certificate in the DisplayObject folder of the current Convertigo project as it will be packaged within the mobile application during the build process. This would lead to a security breach.
APNS notification type ApnsNotificationType standard Defines the type of push notification for Apple’s APNS.
This property allows to define which Apple’s APNS push type is to be used. It can take one of the following values:

Message: sends messages,
Badge: notifies application’s badge,
Sound: plays a sound.

Default value is Message.
APNS use production server JS expression standard Defines the usage of the APNS production (true) or development (false) server.
This property is a JavaScript expression that is evaluated during the sequence execution and should be a ‘true’ value for use the production APNS server, else use the development one.
Android push time to live JS expression standard Defines the time to live (in seconds) of the push notification for Android devices.
The Android push time to live property allows to define the time to live of the message sent for Android GCM. If the message is not delivered within this time, it will be discarded.
This property is a JavaScript expression that is evaluated during the sequence execution and gives the time to live in seconds (it should be an integer value).
Default value is 3600 seconds, i.e. one hour.
Comment String standard Describes the object comment to include in the documentation report.
This property generally contains an explanation about the object.
Device tokens XMLVector standard Defines the list of tokens identifying the mobile devices to notify.
The Device tokens property is of source type, defining a list of nodes from a previous step for current step to work on.
A source is defined as a reference on a step previously existing in the parent sequence, associated with an XPath applied on the step’s result DOM. At runtime, the XPath is applied on the step’s current execution result XML and extracts a list of XML nodes resulting from this execution.
If the XPath doesn’t match or if the source is left blank, the step has no data to work on: no device is selected, no notification is sent, and the parent sequence execution continues.
Notes:

• The mobile device tokens must be known from the Convertigo Server so a list of tokens can be used in this property. Generally, the tokens are generated by the mobile device itself and are sent to Convertigo Server by executing a “storing” sequence. The “storing” sequence should store the tokens in a database (or else), so that they can be retrieved and used in this property.
• The mobile device tokens are destination aware: an Android Google Cloud Messaging token will start by gcm: and Apple’s APNS tokens will start by apns:. The tokens stored server-side already contain this piece of information.
Google API key JS expression standard Defines the Google Cloud messaging API key to use for push on Android devices.
This property is a JavaScript expression that is evaluated during the sequence execution and gives the Google Cloud messaging API key. This key can be obtained by following the Google Cloud Messaging documentation (http://developer.android.com/google/gcm/gs.html).
Is active boolean standard Defines whether the step is active.
Notification data XMLVector standard Defines the data to be sent in the notification.
The Notification data property is of source type, defining a list of nodes from a previous step for current step to work on.
A source is defined as a reference on a step previously existing in the parent sequence, associated with an XPath applied on the step’s result DOM. At runtime, the XPath is applied on the step’s current execution result XML and extracts a list of XML nodes resulting from this execution.
If the XPath doesn’t match or if the source is left blank, the step has no data to work on: notification is sent with no data.
This content can be a text message, a number to be displayed on a badge, or the name of a sound to play, depending on the APNS notification type property value (only for iOS devices).
Output boolean expert Defines whether the XML generated by this step should be appended to the resulting XML.
Set this property to true to add the step’s resulting XML to the sequence’s output XML (default value for steps generating XML). Set this property to false to prevent the steps’s XML result to appear in the sequence’s output XML.
Setting this property to false does not prevent the step’s generated XML from being used as a source by other steps.