To use the additional parameters of the custom events for targeting purposes, they must formatted as a valid
JSON string. Only
strings are accepted as key. For the value, only
booleans are accepted. Use a
timestamp to represent a date.
If you want to track a custom event use the
trackEvent method. Events types below
1000 are reserved for the library internal usage. You can use custom event types starting from
Each event needs to be defined in the Accengage User Interface. Go to Settings > Advanced Settings, and add a new event of type
Custom with the code used in
trackEvent method. The label is only used for a display purpose.
Custom events (iOS only)
Event API has been updated. You can now use this method for example :
You can track specific events like “Add to Cart”, “Purchase” and “Lead”. Here is how to use each of these events.
If you want to send a Lead, you can add to your code:
Add to Cart
If you want to track an Add to Cart event, add to your code:
Note: Currency should be a valid 3 letters ISO4217 currency (EUR,USD,..) and the 2 last arguments are price and quantity.
If you want to track a Purchase event, you can add to your code:
Note: Currency should be a valid 3 letters ISO4217 currency (EUR,USD,..) and the last argument is the total price of this purchase.
Update Device Information
You can create a device profile for each device in order to qualify the profile (for example, registering whether the user is opt in for or out of some categories of notifications). A device profile is a set of key/value that are uploaded to Accengage server. In order to update information about a device profile, add the following lines to your code:
Replace “key” and “value” with the segmentation key name and the value you want to set.
The keys and values must match Accengage user information field names and values to allow information to be correctly updated.
But please note that they MUST be sent in String format when calling updateDeviceInfo() method !
New API to Update Device Information
A new API is available in order to update device information in a more structured manner.
You can send a date using the updateDeviceInfo method.
Your date has to be in the following format: “yyyy-MM-dd HH:mm:ss zzz”
Manually Update Geolocation (Android only)
Geolocation is automatically updated and sent to our servers if "android_no_geoloc" is false inside BMA4SCordovaConfig.json
If you want to manually update the current location of the device, you can call:
Enable/Disable Location Services (iOS)
You can enable geolocation, geofence and beacon services at any time by calling:
To disable geolocation, geofence and beacon services, simply use the following:
If you want to tag each Fragment/Tabs/Activity and be able to target it, you can use the following code as soon as a view is displayed:
Where your-view is the name of your view.
In Accengage Interface, you can “Declare a State” (Applications → Advanced Parameters). States are like browser cookies which can be used to trigger Accengage In-App notifications. You can target one or more states and combine them with Event or ViewTag.
Example: When event 5000 is triggered and state “search” contains “pizz*”, display a specific In-App.
The following section explains how to declare certain states with the Accengage SDK.
Put a State
You can obtain the name of the state from the Accengage “value” field in Applications → Advanced Parameters → States section.
In order to put a state, write this code:
Where "search" is the state name and “myValue” is the value you want to put for this state.
Subscription tag is a new API used to mark user interest for a particular topic with a category, an id and optional parameters :
BMA4S.setDeviceTag(category, id, params), where params is a json containing some optional parameters for the Tag.
A device tag can contain up to 5 parameters and all parameter key should be different. Parameter value should be type of String, Number, Boolean or Date.
As mentionned with the name of the method, setDeviceTag is an update of the Subscription Tag, it will override then the previous information.
You can set an expiration date for your Subscription Tag by adding the parameter "exp" to the Device Tag where the value is a timestamp for the expiration date :
You can unsubscribe a user to a particular topic with the following code :
Please note that this feature is only available through Accengage's API
For more information please contact our Support Team at http://ticket.accengage.com
First of all, to use a Static List, you need to create it on the Accengage User Interface.
Add the current device to a Static List
In order to add the current device to a Static List you have to provide a JSONArray containing JSONObjects including each a listId and an optional expireAt expiration date
Remove the current device from a Static List
In order to remove the current device to a Static List you have to provide a JSONArray containing JSONObjects including each a listId
Get subscription status
You have 2 ways to get the subscription status of the current device.
Get subscription status of selected lists
Retrieve the status of all wanted lists, you will need to pass a function in order to retrieve the result (here it's theCallback) :
Get all subscriptions of the current device
Retrieve the status of all lists, you will need to pass a function in order to retrieve the result (here it's theCallback) :
As a result, you will get a JSONArray containing some JSONObjects :