记录事件


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

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

准备工作

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

记录事件

创建 FirebaseAnalytics 实例后,您就可以使用该实例通过库中的 log- 方法来记录事件。

预定义的事件

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

您可以在 API 参考文档中找到推荐事件类型的记录方法。

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

await FirebaseAnalytics.instance.logSelectContent(
    contentType: "image",
    itemId: itemId,
);

或者,您也可以使用 logEvent() 记录该事件:

await FirebaseAnalytics.instance.logEvent(
    name: "select_content",
    parameters: {
        "content_type": "image",
        "item_id": itemId,
    },
);

如果您想指定除预设(必需)参数以外的其他参数,上述做法将非常有用。您可以将以下参数添加到任何事件:

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

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

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

  • 参数名称不得超过 40 个字符,必须以字母字符开头,并且只能包含字母数字字符和下划线。支持字符串和 num 类型。字符串参数值不得超过 100 个字符。“firebase”“google”和“ga_”前缀已预留,不应该用于参数名称。

自定义事件

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

await FirebaseAnalytics.instance.logEvent(
    name: "share_image",
    parameters: {
        "image_name": name,
        "full_text": text,
    },
);

设置默认事件参数

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

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

有效的参数值为字符串和 num。将键的值设置为 null 会清除该参数。传入 null 值会清除所有参数。

// Not supported on web
await FirebaseAnalytics.instance
  .setDefaultEventParameters({
    version: '1.2.3'
  });

如果您在 logEvent()log- 方法中指定了某个参数,系统将使用该值而非默认值。

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

在信息中心内查看事件

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

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