记录事件


本指南介绍如何在您的应用中记录事件。

事件可让您了解您的应用中发生了什么,例如用户操作、系统事件或错误。

Analytics 会自动为您记录一些事件,您无需为此添加任何代码。如果应用需要收集其他数据,您可以在应用中记录多达 500 种不同的 Analytics 事件类型。应用可记录的事件总量不受限制。请注意,事件名称区分大小写。即便两个事件的名称只是大小写不同,系统也会将其视作两个不同的事件。

准备工作

确保您已按照 Analytics 使用入门中的说明设置了您的项目,并且可以访问 Analytics

记录事件

创建 FirebaseAnalytics 实例后,您就可以使用该实例通过 logEvent() 方法来记录事件。

为帮助您着手使用,Analytics SDK 定义了许多常见于各类型应用(零售、电子商务、旅行以及游戏应用等)的推荐事件。如需详细了解这些事件及其适用情形,请参阅推荐事件

您可在以下位置找到推荐的事件类型的实现详情:

下面的示例演示了如何记录 SELECT_CONTENT 事件:

Kotlin+KTX

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Java

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

除了预设参数外,您还可以将以下参数添加到任意事件中:

  • 自定义参数:可使用自定义参数作为 Analytics 报告中的维度或指标。您可以对非数值事件参数数据使用自定义维度,而对更适合以数值形式表示的参数数据使用自定义指标。使用 SDK 记录自定义参数后,请注册维度或指标,以确保这些自定义参数能够出现在 Analytics 报告中。可依次点击以下各项完成此操作:“分析”>“事件”>“管理自定义设置”>“创建自定义维度”。

    自定义参数可用于每份报告都可能使用的受众群体定义中。如果您的应用已关联到 BigQuery 项目,自定义参数也将包含在导出至 BigQuery 的数据中。如需查看示例查询及更多内容,请访问 Google Analytics 4 BigQuery Export

  • VALUE 参数:VALUE 是一个通用参数,可用于累积与事件相关的关键指标,例如收入、距离、时间和分数。

如果推荐的事件类型未涵盖您的应用的特定需求,您可以按以下示例所示的方式记录自己的自定义事件:

Kotlin+KTX

firebaseAnalytics.logEvent("share_image") {
    param("image_name", name)
    param("full_text", text)
}

Java

Bundle params = new Bundle();
params.putString("image_name", name);
params.putString("full_text", text);
mFirebaseAnalytics.logEvent("share_image", params);

设置默认事件参数

您可以使用 setDefaultEventParameters 跨事件记录参数。默认参数会与记录的所有将来的事件相关联。

与自定义参数一样,请注册默认事件参数,以确保这些参数能显示在 Analytics 报告中。

Kotlin+KTX

val parameters = Bundle().apply {
    this.putString("level_name", "Caverns01")
    this.putInt("level_difficulty", 4)
}

firebaseAnalytics.setDefaultEventParameters(parameters)

Java

Bundle parameters = new Bundle();
params.putString("level_name", "Caverns01");
params.putInt("level_difficulty", 4);
mFirebaseAnalytics.setDefaultEventParameters(parameters);

如果在 logEvent() 方法中指定了一个参数,则系统会使用该值而非默认值。

如需清除默认参数,请调用 setDefaultEventParameters 方法,并将参数设置为 null

查看 Android Studio 调试日志中的事件

您可以启用详细日志记录功能以监控 SDK 的事件记录,从而帮助验证是否正确记录了事件,包括自动和手动记录的事件。

您可以通过一系列 adb 命令启用详细日志记录功能:

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC

此命令可在 Android Studio logcat 中显示您的事件,有助于您即时验证事件是否正在发送。

在信息中心内查看事件

您可以在 Firebase 控制台信息中心内查看有关事件的汇总统计信息。这些信息中心会全天定时更新。如需立即测试,请按照上一部分中所述的方式使用 logcat 输出。

您可以在 Firebase 控制台的事件信息中心访问这些数据。此信息中心显示了为应用记录的每种不同事件自动创建的事件报告。