Как отследить пользовательскую переменную трафика Omniture в Android?
В Site Catalyst мы определили пользовательскую переменную трафика "Купленный товар". Теперь, как мне отправить запрос на обновление этой пользовательской переменной из библиотеки Android? я не нахожу здесь большой помощи
Пожалуйста, найдите мой код ниже,
public class TrackingHelper {
private static final String TRACKING_RSID = "MY_TRACKING_RSID";
private static final String TRACKING_SERVER = "MY_TRACKING_SERVER";
static ADMS_Measurement measurement = null;
public static void startActivity(Activity activity) {
measurement = ADMS_Measurement.sharedInstance(activity);
measurement.startActivity(activity);
}
public static void stopActivity() {
measurement = ADMS_Measurement.sharedInstance();
measurement.stopActivity();
}
public static void configureAppMeasurement(Activity activity) {
if (measurement == null) {
measurement = ADMS_Measurement.sharedInstance(activity);
measurement.configureMeasurement(TRACKING_RSID, TRACKING_SERVER);
measurement.setOfflineTrackingEnabled(true);
measurement.setDebugLogging(true);
}
}
public static void trackItemBought() {
if (measurement != null) {
measurement = ADMS_Measurement.sharedInstance();
Hashtable<String, Object> contextData = new Hashtable<String, Object>();
contextData.put("Item Bought", "Item Bought");
measurement.setEvents("Item Bought");
measurement.track(contextData);
}
}
}
2 ответа
Я не могу поручиться за код Android, но вот некоторые общие мысли:
Когда вы отправляете переменную данных контекста, вы отправляете пару имя-значение, поэтому я подозреваю эту строку: contextData.put("Купленный предмет", "Купленный предмет"); Должно быть что-то вроде этого (я хочу сказать, что покупаемая вещь - это баскетбол): contextData.put("Купленный предмет", "Баскетбол");
Тогда кому-то, имеющему доступ к правилам обработки в SiteCatalyst, нужно будет настроить правило, чтобы сказать, что эта переменная ("Купленный товар") принадлежит назначенной ей пользовательской переменной трафика (например, prop14). http://www.jasonegan.net/2011/04/07/omniture-sitecatalyst-15-context-variables-processing-rules/ немного говорит о том, как это сделать, но в статье обычно предполагается, что у вас есть определенный уровень знание SiteCatalyst.
Просто внесите следующие изменения в свой код.
public class TrackingHelper {
private static final String TRACKING_RSID = "MY_TRACKING_RSID";
private static final String TRACKING_SERVER = "MY_TRACKING_SERVER";
static ADMS_Measurement measurement = null;
public static void startActivity(Activity activity) {
measurement = ADMS_Measurement.sharedInstance(activity);
measurement.startActivity(activity);
}
public static void stopActivity() {
measurement = ADMS_Measurement.sharedInstance();
measurement.stopActivity();
}
public static void configureAppMeasurement(Activity activity) {
if (measurement == null) {
measurement = ADMS_Measurement.sharedInstance(activity);
measurement.configureMeasurement(TRACKING_RSID, TRACKING_SERVER);
measurement.setOfflineTrackingEnabled(true);
measurement.setDebugLogging(true);
}
}
public static void trackItemBought() {
if (measurement != null) {
measurement = ADMS_Measurement.sharedInstance();
Hashtable<String, Object> contextData = new Hashtable<String, Object>();
contextData.put("Item Bought", "Item Bought");
measurement.setEvents("Item Bought");
measurement.contextData(contextData);
measurement.track();
}
}