Send nudge events to your own analytics system
Please follow the steps below to get nudge events shared with your analytics system. This listener will provide following events:
- hansel_nudge_show_event - This event will be fired when a nudge is rendered on the device. This is available from Android Product Experience SDK v8.6.3 onwards only.
- hansel_nudge_event - This event will be fired when the nudge is dismissed. This is available from Android Product Experience SDK v8.5.0 onwards.
- hansel_branch_tracker - This event will be fired whenever the user moves in/out of any branch or segment. This is available from Android Product Experience SDK v9.0.7 onwards. Below are the cases in which this callback is invoked :
- SDK initialisation
- User identity change
- Segment(Positive/Negative) change
Step 1 : Create a class that implements the HanselInternalEventsListener with the following method:
import io.hansel.ujmtracker.HanselInternalEventsListener;
HanselInternalEventsListener hanselInternalEventsListener = new HanselInternalEventsListener() {
@Override
public void onEvent(String eventName, HashMap dataFromHansel) {
if ("hansel_nudge_show_event".equals(eventName)) {
// Invokes when nudge is shown to the user where "Send the event to Analytics provider" is enabled for the nudge
// send `dataFromHansel` to your analytics provider
// e.g. CleverTap.push(clevertapAPI, "hansel_nudge_show_event", dataFromHansel);
}
else if ("hansel_nudge_event".equals(eventName)) {
// Invokes when nudge is dismissed from the device where "Send the event to Analytics provider" is enabled for the nudge
// send `dataFromHansel` to your analytics provider
// e.g. CleverTap.push(clevertapAPI, "hansel_nudge_event", dataFromHansel);
}
else if ("hansel_branch_tracker".equals(eventName)) {
// Invokes when user branch is changed or initial state of the branches gets synced
// send `dataFromHansel` to your analytics provider
// e.g. CleverTap.push(clevertapAPI, "hansel_branch_tracker", dataFromHansel);
}
}
};
import io.hansel.ujmtracker.HanselInternalEventsListener
var hanselInternalEventsListener: HanselInternalEventsListener =
HanselInternalEventsListener { eventName, dataFromHansel ->
when (eventName) {
"hansel_nudge_show_event" -> {
// Invokes when nudge is shown to the user where "Send the event to Analytics provider" is enabled for the nudge
// send `dataFromHansel` to your analytics provider
// e.g. CleverTap.push(clevertapAPI, "hansel_nudge_show_event", dataFromHansel);
}
"hansel_nudge_event" -> {
// Invokes when nudge is dismissed from the device where "Send the event to Analytics provider" is enabled for the nudge
// send `dataFromHansel` to your analytics provider
// e.g. CleverTap.push(clevertapAPI, "hansel_nudge_event", dataFromHansel);
}
"hansel_branch_tracker" -> {
// Invokes when user branch is changed or initial state of the branches gets synced
// send `dataFromHansel` to your analytics provider
// e.g. CleverTap.push(clevertapAPI, "hansel_branch_tracker", dataFromHansel);
}
}
}
Step 2 : Registering the listener with Product Experience SDK
import io.hansel.ujmtracker.HanselTracker;
//Register the listener with Hansel SDK by using this code.
HanselTracker.registerListener(hanselInternalEventsListener);
import io.hansel.ujmtracker.HanselTracker
//Register the listener with Hansel SDK by using this code.
HanselTracker.registerListener(hanselInternalEventsListener)
Note
- Please ensure to select the checkbox 'Send nudges to Analytics Provider' from Step 2 of Nudge creation flow for
hansel_nudge_show_event
&hansel_nudge_event
- Please note that this step is not required for hansel_branch_tracker call back
- Below are properties that you can expect in these following events.
hansel_nudge_show_event
- interaction_map_name
- nudge_name
- nudge_type
- app_id
- user_id (fallback to device id if not present)
hansel_nudge_event
- interaction_map_name
- nudge_name
- nudge_type
- app_id
- user_id (fallback to device id if not present)
- nudge_rating : NULL | Rating | NPS (will be a number)
- nudge_mcq : MCQ (will be a string)
- nudge_inputtext: NULL | text
- nudge_action: button1/2_clicked | buttontext | close_clicked | noaction_autodismissed | noaction_screenchanged | noaction_appclosed | backdrop_dismissed
hansel_branch_tracker
- hsl_counter -> integer value that represents the number of
hsl_data
present indataFromHansel
map. For example hsl_counter = 3 means hsl_data, hsl_data1 and hsl_data2 should be available in map - hsl_data
hsl_data1
hsl_data2 - hsl_ven -> represents analytics vendor used for the SDK.
Updated 3 months ago