1

在 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);
        }
    }
}
4

2 回答 2

1

我不能保证 android 代码,但这里有一些一般的想法:

当您发送上下文数据变量时,您会发送一个名称-值对,所以我怀疑这一行: contextData.put("Item Bought", "Item Bought"); 应该更像这样(我会说被购买的物品是篮球): contextData.put("Item Bought", "Basketball");

然后,有权访问 SiteCatalyst 中的处理规则的人将需要配置一条规则,以说明该变量(“已购买的商品”)属于其分配的自定义流量变量(例如 prop14)。http://www.jasonegan.net/2011/04/07/omniture-sitecatalyst-15-context-variables-processing-rules/讨论了如何做到这一点,但文章通常假设你有一定的水平SiteCatalyst 的知识。

于 2013-02-19T18:02:41.630 回答
0

只需在您的代码中进行以下更改。

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();
    }
}
于 2014-11-14T16:20:04.173 回答