Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

记录事件

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

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

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

准备工作

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

记录事件

配置 FirebaseApp 实例后,您就可以开始使用 logEvent() 方法记录事件。

为帮助您着手使用,Analytics SDK 定义了许多常见于各种类型的应用(零售、电子商务、差旅以及游戏应用等)的推荐事件。如需详细了解这些事件及其适用情形,请在 Firebase 帮助中心浏览 [事件和属性] [suggested-events-hc] 相关文章。

您可以在 SwiftObjective-C 版常量参考文档中找到实现详情。

下面的示例演示了如何记录推荐的 kFIRSelectContent 事件:

Swift

Analytics.logEvent(AnalyticsEventSelectContent, parameters: [
  AnalyticsParameterItemID: "id-\(title!)",
  AnalyticsParameterItemName: title!,
  AnalyticsParameterContentType: "cont",
])

Objective-C

[FIRAnalytics logEventWithName:kFIREventSelectContent
                    parameters:@{
                                 kFIRParameterItemID:[NSString stringWithFormat:@"id-%@", self.title],
                                 kFIRParameterItemName:self.title,
                                 kFIRParameterContentType:@"image"
                                 }];

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

  • 自定义参数:您可以注册要纳入到 Analytics 报告中的自定义参数。在每份报告的受众群体定义中,也可以使用这些自定义参数作为过滤条件。如果您的应用已关联到 BigQuery 项目,自定义参数也将包含在导出至 BigQuery 的数据中。

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

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

Swift

Analytics.logEvent("share_image", parameters: [
  "name": name as NSObject,
  "full_text": text as NSObject,
])

Objective-C

 [FIRAnalytics logEventWithName:@"share_image"
                    parameters:@{
                                 @"name": name,
                                 @"full_text": text
                                 }];

设置默认事件参数

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

Swift

Analytics.setDefaultEventParameters([
  "level_name": "Caverns01",
  "level_difficulty": 4
])

Objective-C

[FIRAnalytics setDefaultEventParameters:
  @{
  @"level_name": "Caverns01",
  @"level_difficulty": @(4)
}];

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

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

在 Xcode 调试控制台中查看事件

您可以启用详细日志记录功能以监控 SDK 的事件记录,这有助于验证系统是否正在正确记录事件,包括自动和手动记录的事件。

您可以按如下方式启用详细日志记录功能:

  1. 在 Xcode 中,依次选择 Product > Scheme > Edit scheme…
  2. 从左侧菜单中选择 Run
  3. 选择 Arguments 标签页。
  4. Arguments Passed On Launch 部分,添加 -FIRAnalyticsDebugEnabled

下次您运行应用时,事件将显示在 Xcode 调试控制台中,有助于您即时验证事件是否正在发送。

在信息中心内查看事件

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

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