将键值对负载发送到 Google Analytics

Sending key-value pairs payload to Google Analytics

我正在尝试发送 N 个附加到单个匹配的自定义键值对。该命中将有自己的密钥 category/action/label,但我在定义自己的密钥之后。

我正在尝试将 Google 分析集成到我的应用程序中。我已遵循所有配置步骤并且它有效,但我正在尝试了解事件报告的工作原理,以及如何从预定义的键值对发送我自己的自定义事件。

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(),但 none 提供了清晰的键值对映射。

您似乎在使用旧的 Analytics SDK,我不推荐这样做。尝试使用 v4 并遵循 Analytics SDK for Android manual.

我不确定你到底想做什么,但可以使用 EventBuilder 发送自定义事件,如下所示:

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

我认为您正在寻找 Custom Dimensions. First you should create a custom dimension,然后将其与 screen/event 命中一起发送。

使用你的例子,你应该这样使用它:

// 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 作为 "hello dimension",维度 #2 将是 "liek dimension"。这是屏幕视图上的示例,但同样可以通过事件完成。