1

我想了解我的用户在我的应用程序中有哪些偏好。我在想类似的事情:

EasyTracker easyTracker = EasyTracker.getInstance(context);
easyTracker.send(MapBuilder
        .createEvent("user",
                "prefs",
                "data",
                (long) data)
                .build()
        );

然后像这样传递数据:

if (user_name != "") { data += 1; }
if (user_address != "") { data += 10; }
if (user_phone != "") { data += 100; }

但是我是否能够跟踪例如,有多少用户是空的user_address

4

2 回答 2

3

我认为这种类型的数据有 2 个更好的选择。

  1. 您的应用程序数据库。SQL select 语句已经可以为您提供计数和特定值。无需在其他地方跟踪。例子:

    select sum(if(user_name is null,0,1)) as num_Users_With_UserName from users group by if(user_name is null,0,1)

  2. 如果您只需要跟踪这 3 个首选项,并且无论出于何种原因都希望在 GA 中查看它们,我建议您使用自定义变量或自定义维度(取决于您使用的 GA 版本)而不是事件。这些可以使用用户范围进行设置,您可以跟踪用户的更改,但在访问期间保持他们的偏好状态。事件最适合跟踪点击,而用户变量最好在自定义变量或自定义维度中进行跟踪。(例如,您可能希望将“有用户名”的自定义维度和“用户名”字段更改状态时的事件结合起来。)

于 2013-10-26T17:38:11.507 回答
0

我建议使用:

EasyTracker.getTracker().sendEvent("user", "prefs","has_name", 1l);
EasyTracker.getTracker().sendEvent("user", "prefs","has_address", 1l);
EasyTracker.getTracker().sendEvent("user", "prefs","has_phone", 1l);

尽管您必须确保发送一次,但第一次输入时可能吗?您可以在用户取消设置时发送 -1(如果它可以工作,则不是 100%),并且您不必关心他是否编辑它。

于 2013-10-25T19:54:44.740 回答