将键值对有效负载发送到Google Analytics

时间:2015-06-18 16:56:14

标签: android google-analytics

我正在尝试发送附加到单个Hit的N个自定义键值对。该命中将有自己的关键类别/动作/标签,但我在定义自己的键之后。

我正在尝试将Google Analytics集成到我的应用程序中。我已按照所有配置步骤进行操作,但我正在尝试了解事件报告的工作原理,以及如何从预定义的键值对中发送自己的自定义事件。

Map<String, String> myMap = new HashMap<>();
myMap.put("hello", "world");
myMap.put("liek", "turtles");
GoogleAnalytics analytics = GoogleAnalytics.getInstance(context);
analytics.setLocalDispatchPeriod(1800);
Tracker tracker = analytics.newTracker(token);
tracker.send(myMap);

这是不受欢迎的Logcat错误。

W/GAv4﹕ Discarding hit. Missing hit type parameter: tid=world, a=504324093

我正在尝试其他API,如HitBuilders和set(),但没有一个提供明确的键值对映射。

2 个答案:

答案 0 :(得分:5)

我认为您正在寻找Custom Dimensions。首先你应该create a custom dimension然后将它与屏幕/事件命中一起发送。

使用您的示例,您应该像这样使用它:

// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER);
t.setScreen("Home Screen");

// Send the custom dimension value with a screen view.
// Note that the value only needs to be sent once.
t.send(new HitBuilders.ScreenViewBuilder()
    .setCustomDimension(1, "world")
    .setCustomDimension(2, "turtles")
    .build()
);

维度#1将configured作为&#34; hello维度&#34;和维度#2将是一个&#34;谎言维度&#34;。这是一个屏幕视图的示例,但事件可以完成相同的操作。

答案 1 :(得分:3)

您似乎正在使用旧的Analytics SDK,我不建议这样做。尝试使用v4并按照Analytics SDK for Android manual

我不确定您要完全尝试做什么,但可以使用EventBuilder发送自定义事件,如下所示:

tracker.send(new HitBuilders.EventBuilder()
         .setCategory("your-category")
         .setAction("your-action")
         .setLabel("your-label")
         .build());