Configuring Analytics via Omniture
Step 1: Create new Class
Create a new class "AppOmniture" and add the following methods to it.
public static void trackAction(String eventName, HashMap<String, Object> properties) {
//Please pass the string "omni" for vendor if you are using Omniture to track the event.
HashMap<String, String> hanselData = HanselTracker.logEvent(eventName, "omni", properties);
if (properties == null) {
properties = new HashMap<>();
}
properties.putAll(hanselData);
Analytics.trackAction(eventName, properties);
}
public static void trackState(String eventName, HashMap<String, Object> properties) {
//Please pass the string "omni" for vendor if you are using Omniture to track the event.
HashMap<String, Object> hanselData = HanselTracker.logEvent(eventName, "omni", properties);
if (properties == null) {
properties = new HashMap<>();
}
properties.putAll(hanselData);
Analytics.trackState(eventName, properties);
}
fun trackAction(eventName: String, properties: HashMap<String, Any>) {
//Please pass the string "omni" for vendor if you are using Omniture to track the event.
val hanselData = HanselTracker.logEvent(eventName, "omni", properties)
properties.putAll(hanselData)
Analytics.trackAction(eventName, properties)
}
fun trackState(eventName: String, properties: HashMap<String, Any>) {
//Please pass the string "omni" for vendor if you are using Omniture to track the event.
val hanselData = HanselTracker.logEvent(eventName, "omni", properties)
properties.putAll(hanselData)
Analytics.trackState(eventName, properties)
}
import {NativeModules} from 'react-native';
var AppOmniture = (function () {
function trackAction(omnitureClient, eventName, properties) {
var mergedProperties = {};
NativeModules.HanselTrackerRn.logEvent(eventName,"omni",properties,(hanselData) => {
if(!properties) {properties = {};}
mergedProperties = Object.assign(properties, hanselData);
});
omnitureClient.trackAction(eventName, mergedProperties);
}
function trackState(omnitureClient, eventName, properties) {
var mergedProperties = {};
NativeModules.HanselTrackerRn.logEvent(eventName,"omni",properties,(hanselData) => {
if(!properties) {properties = {};}
mergedProperties = Object.assign(properties, hanselData);
omnitureClient.trackState(eventName, mergedProperties);
});
}
})();
Step 2: Tracking Hansel changes
For all those events on which you want to track the impact of Hansel changes, make the updates as suggested in the snippet below:
//If the original code was
Analytics.trackAction(eventName, properties);
//or
Analytics.trackState(eventName, properties);
//it would get updated to
AppOmniture.trackAction(eventName, properties);
//or
AppOmniture.trackState(eventName, properties);
//If the original code was
Analytics.trackAction(eventName, properties);
//or
Analytics.trackState(eventName, properties);
//it would get updated to
AppOmniture.trackAction(eventName, properties);
//or
AppOmniture.trackState(eventName, properties);
//If the original code was
omnitureClient.trackAction(eventName, properties);
//or
omnitureClient.trackState(eventName, properties);
//it would get updated to
AppOmniture.trackAction(omnitureClient, eventName, properties);
//or
AppOmniture.trackState(omnitureClient, eventName, properties);
Updated 6 months ago