如何为分析添加Firebase自定义事件?

59

我看过一些有关Firebase分析自定义事件的问题与回答,但我只想直截了当地问一个问题,以便您可以给我一个直接的回答 :)

所以,这是我的记录方法:

@Override
public void logFeatureSelectedEvent(String categoryName, String actionName, String labelName) {
    Bundle bundle = new Bundle();
    bundle.putString(EventTrackingKeys.EventTypes.CATEGORY, categoryName);
    bundle.putString(EventTrackingKeys.EventTypes.ACTION, actionName);
    bundle.putString(EventTrackingKeys.EventTypes.LABEL, labelName);
    mFirebaseAnalytics.logEvent(EventTrackingKeys.EventAnalyticTypes.FEATURE_SELECTED_EVENT, bundle);
}

使用自定义事件/键名:

String CATEGORY = "category";
String ACTION = "action";
String LABEL = "label";
String FEATURE_SELECTED_EVENT = "feature_selected_event";

所以,在我的 Firebase 控制台中,我只能看到事件名称为“feature_selected_event”,而没有自定义参数名称。 我看到一些答案说我应该调用 setUserProperty() 方法,并在 Firebase Analytics 的“用户属性”选项卡中注册该用户属性。 这是实现该方法的正确方式吗?

   @Override
public void logFeatureSelectedEvent(String categoryName, String actionName, long value) {
    Bundle bundle = new Bundle();
    bundle.putString(EventTrackingKeys.EventTypes.CATEGORY, categoryName);
    bundle.putString(EventTrackingKeys.EventTypes.ACTION, actionName);
    bundle.putLong(EventTrackingKeys.EventTypes.VALUE, value);
    mFirebaseAnalytics.setUserProperty(EventTrackingKeys.EventTypes.CATEGORY, categoryName);
    mFirebaseAnalytics.setUserProperty(EventTrackingKeys.EventTypes.ACTION, actionName);
    mFirebaseAnalytics.setUserProperty(EventTrackingKeys.EventTypes.VALUE, value);
    mFirebaseAnalytics.logEvent(EventTrackingKeys.EventAnalyticTypes.FEATURE_SELECTED_EVENT, bundle);
}
7个回答

41

你可以在控制台中看到它,不需要任何黑科技,但它在那里相当隐蔽。

去Firebase Analytics -> Stream View -> 选择事件 -> Top events -> select_content -> 就是那样

我的代码:

Bundle params = new Bundle();
params.putString("invalid_url", urlPart);
mFirebaseAnalytics.logEvent("eventInvalidUrl", params);

Firebase Analytics Stream View


20
过去30分钟内的数据只有这些,没有其他方式可以记录或者可视化特定捆绑的事件数据吗?这个服务似乎完全没用。 - Daniel Wilson
使用 analytics.google 查看从 Firebase 记录的事件。 - Ahmad Shahwaiz
我使用了相同的事件记录方法。我发现很少有真正的事件,而大多数都是“未设置”类型。这是根据两天内700多个用户的分析报告。有人知道为什么吗? - Tushar Mate

27

自定义参数将不会显示。仪表板中仅显示建议的事件和建议的参数。

要查看自定义参数,您需要将项目链接到Big Query(这是收费服务)。

同时,如果用户数量少于10个,则Firebase将不显示信息。


尽管我有超过10个用户,Firebase并没有显示自定义参数的值,但当我有更多的事件调用时它就出现了。 - BekaBot

23

11
在Firebase中,据我所知,我们需要以<键,值>对的形式记录事件,然后需要进行日志记录。 就像这样:
bundle.putString("yourKey","yourValue");

举个例子,我已将自定义事件放在MyApp中以获取应用程序打开时间,如下所示。

    Bundle params = new Bundle();
    params.putString("open_time", TimeStampUtil.getTimeStamp(System.currentTimeMillis()));
    mFirebaseAnalytics.logEvent("app_open_time", params);

所以,在上面的示例中,我创建了一个名为app_open_time的自定义事件,并使用open_time作为键放置了值。

尝试这种方式,欲了解更多信息,请参考此链接:https://firebase.google.com/docs/analytics/android/events


4
是的,但你是否在Firebase控制台中获得了“开放时间”属性?以我的例子为例,我有一个名为“feature_selected_event”的事件和一个显示该事件发生次数的计数器,但我看不到“category”、“action”和“label”的值。我正在寻找答案,看到应该添加setUserProperty()方法并在控制台注册这些属性...但我不太确定如何使用该方法... - joe
不,它在我的应用程序控制台中也没有显示出来。可能是因为它是自定义事件。 - Uttam Panchasara
@joe 请看我的回答。 - TOP
1
“app_open_time”会像其他预定义的事件名称(如“app_remove”等)一样显示在Firebase控制台页面上吗?如果我想在控制台页面上显示自定义事件名称,应该怎么做? - UserName_Untold
我真的不了解iOS Firebase分析,但是我也在Android应用程序中实现了分析和自定义事件,它只显示事件名称。 - Uttam Panchasara
显示剩余6条评论

7

你不仅需要按照Muhammad Riyaz所说去做,还需要将用户数量提高到“门槛”以上。以我的情况为例,在几个模拟器版本上安装了我的应用程序后,我的用户数量达到了12人,火花一下,Firebase仪表板中就出现了自定义事件参数数据。


3

与@Josef Vancura的回答类似,但是用Kotlin:

val params = Bundle()
params.putString("invalid_url", urlPart)
mFirebaseAnalytics.logEvent("eventInvalidUrl", params)

1

触发自定义事件:-

Bundle bundle = new Bundle();
bundle.putString(variableName1, variableValue1);
bundle.putString(variableName2, variableValue2);
FirebaseAnalytics.getInstance(context).logEvent(event_name, bundle);

要查看您的自定义事件,请打开Firebase控制台,转到实时分析,然后滚动到底部并检查“按事件名称计数”的部分,您将在那里找到您的事件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接