Firebase Analytics 是 Google 提供的免费工具,用于跟踪移动和 Web 应用中的用户行为。该服务无需编写代码即可自动收集基本事件(首次启动、购买、屏幕交互),并允许添加自定义事件进行深入分析。根据 Google 2026 年数据,Firebase Analytics 每天在全球处理超过 500 亿个事件。SDK 只需一行依赖即可集成,并立即开始向 Firebase 控制台传输数据。
要点
Firebase Analytics 是 Google 的云服务,用于收集、汇总和分析移动和 Web 应用中的用户事件。它是 Firebase SDK 的一部分,免费提供,对收集的数据量没有限制。
Firebase Analytics 在单个会话和用户级别处理数据。每个事件包含一个时间戳、一个用户标识符和多达 25 个「键值」对的附加参数。SDK 自动管理安装标识符,并遵守 Google Play 和 App Store 的隐私政策。
Firebase Analytics 构建在 Google Cloud 基础设施之上,并使用与 Google Analytics 4 相同的数据流处理系统。来自客户端的事件通过 HTTPS 发送到收集端点,然后经过验证、丰富化并进入 BigQuery 存储进行长期保存。根据 Google(2026 年)的数据,事件发送到出现在报告中的平均延迟小于 3 秒。
为确保隐私,Analytics 会自动匿名化用户的 IP 地址,未经明确同意不会传输永久设备标识符(AAID、IDFA)。开发者通过 AndroidManifest 和 Info.plist 中的标志来管理数据收集。
与许多 Firebase 产品不同,Firebase Analytics 没有付费套餐。该服务完全免费,无论事件数量、用户数量或存储时长如何。Firebase 控制台中的数据最多可保存 14 个月,连接 BigQuery 导出后,存储期限不受限制。根据 Google(2026 年)的数据,96% 的 Firebase 项目使用 Analytics,并且没有一个项目为服务本身付费 —— 仅在超出 BigQuery 限制(每月 10 GB 免费存储)时才会产生费用。
收集机制基于事件模型:用户的每个操作都会转化为一个带有一组参数的事件。SDK 会自动记录推荐事件 —— first_open、session_start、screen_view、purchase 和 in_app_purchase。激活它们无需编写代码 —— 只需连接 analytics 模块本身即可。
Firebase Analytics 在无需开发者进行任何设置的情况下生成自动事件。完整列表包括 15 个事件:first_open(首次启动)、session_start(会话开始)、user_engagement(互动)、screen_view(屏幕浏览)、app_remove(应用卸载)、os_update(操作系统更新)等。每个自动事件都包含一组预定义的参数 —— 应用版本、设备型号、操作系统版本、地区和语言。
class AnalyticsEventsActivity : AppCompatActivity() {
private lateinit var firebaseAnalytics: FirebaseAnalytics
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
firebaseAnalytics = FirebaseAnalytics.getInstance(this)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT) {
param(FirebaseAnalytics.Param.ITEM_ID, "article_575")
param(FirebaseAnalytics.Param.ITEM_NAME, "Firebase Analytics Guide")
param(FirebaseAnalytics.Param.CONTENT_TYPE, "guide")
}
}
}
为了跟踪特定的应用程序逻辑,使用自定义事件。开发者自己定义事件名称(最多 40 个字符,拉丁字母和下划线)和参数集(每个事件最多 25 个参数)。事件名称在首次发送后会自动在 Firebase 控制台中注册 —— 无需任何预先配置。
自定义事件可以与作为 Bundle 传递的参数组合。Firebase 自动聚合数值参数,计算总和、平均值、最小值和最大值。文本参数用于报告中的过滤和细分。根据 Google(2026 年)的数据,中等规模的应用会生成 200 到 500 个唯一自定义事件。
Firebase Analytics 的事件模型由三个级别组成:事件(events)、参数(parameters)和用户属性(user properties)。每个级别解决自己的任务,并有自己的数量限制。事件描述操作,参数阐明上下文,属性定义用户的特征。
事件是带时间戳的单个用户操作。每个事件必须包含一个名称,并且最多可以包含 25 个 String 或 Double 类型的参数。Firebase 区分推荐事件(来自 FirebaseAnalytics.Event 常量的预定义名称)、自定义事件(开发者的任何唯一名称)和自动事件(由 SDK 生成)。根据 Google(2026 年)的数据,一个应用在每个用户会话中平均发送 50 到 200 个事件。
| 事件类型 | 示例 | 是否需要代码 |
|---|---|---|
| 自动 | first_open、session_start、screen_view | 否 |
| 推荐 | purchase、share、login、search | 部分需要 |
| 自定义 | level_complete、tutorial_step、filter_applied | 是 |
参数阐明事件的上下文。对于推荐事件,Firebase 提供预定义的参数名称(FirebaseAnalytics.Param.ITEM_ID、.VALUE、.CURRENCY)。对于自定义事件,开发者使用长度不超过 40 个字符的任何名称。一个参数可以是文本(最多 100 个字符)、浮点数或数组。参数值在报告中显示为过滤器 —— 可以仅查看特定 item_name 的 purchase 事件。
User Properties —— 是在用户生命周期内与用户所有事件关联的属性。与事件参数不同,用户属性不绑定到特定操作,并且在更改时一次性发送。典型示例:preferred_language、subscription_tier、onboarding_completed。每个项目最多 25 个用户属性。每个属性可以是长度不超过 36 个字符的文本。
User Properties 被积极用于构建受众:可以创建一个 subscription_tier 为「premium」的用户细分,并单独分析他们的行为与免费用户。根据 Google(2026 年)的数据,正确配置 user properties 可将 LTV 预测的准确性提高 20-30%。
在 Android 应用中集成 Firebase Analytics 包括三个步骤:在 build.gradle 中添加依赖、初始化 Firebase 和配置数据收集规则。Analytics 在连接 Firebase SDK 时自动激活 —— 无需额外的 API 密钥或令牌。
// build.gradle(应用级别)
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
implementation("com.google.firebase:firebase-analytics-ktx")
}
// AndroidManifest.xml
@android:name="google_analytics_automatic_screen_reporting_enabled"
android:value="true"
添加依赖并同步 Gradle 后,FirebaseAnalytics 对象可通过单例获得:FirebaseAnalytics.getInstance(context)。默认情况下,Analytics 仅收集自动事件,不收集 DEBUG 版本中的数据。测试时使用 Firebase 控制台中的 DebugView 选项,该选项以小于 1 秒的延迟实时显示事件。
Firebase 提供灵活的机制来禁用或限制数据收集。标志 Analytics.setAnalyticsCollectionEnabled(false) 完全禁用从客户端发送事件。或者,可以通过用户同意对话框(consent mode)配置权限 —— Firebase 仅在明确批准后收集数据。这对于遵守欧洲经济区的 GDPR 和 ePrivacy 至关重要。
根据 Google(2026 年)的数据,欧盟地区约有 12% 的用户拒绝分析数据收集。对于这种情况,Firebase 允许传输没有标识符的聚合数据 —— 匿名事件,这些事件会被计入一般指标,但不会关联到特定用户。
Firebase 控制台提供基于收集事件的一系列现成报告:互动仪表板、留存报告、转化漏斗和用户流。所有报告都实时更新,并支持按应用版本、国家、设备和用户属性进行筛选。
漏斗(funnel) —— 是用户为达到目标操作必须经过的事件序列。例如:screen_view(onboarding) → sign_up → add_to_cart → purchase。Firebase Analytics 根据指定事件自动构建漏斗,并显示到达每个步骤的用户百分比。根据 Google(2026 年)的数据,使用漏斗的应用与普通事件浏览相比,能发现多 40% 的用户流失点。
Firebase Analytics 中的受众允许按事件、参数和用户属性对用户进行细分。受众是满足指定条件的用户的动态列表。例如,「每周打开应用 5 次以上并完成购买的用户」。创建的受众会自动与 Firebase Cloud Messaging 同步以发送推送通知,并与 Google Ads 同步以进行广告活动。
Firebase 支持每个项目最多 500 个受众。每个受众每 2-4 小时更新一次,包含不限数量的用户。受众可以通过 AND、OR 和 NOT 组合 —— 这允许构建复杂的细分用于 A/B 测试和通过 Remote Config 进行内容个性化。
BigQuery —— 是 Firebase Analytics 数据深度分析的主要渠道。连接导出(在 Firebase 控制台中一键配置)后,所有原始事件都会以包含嵌套字段的行格式复制到 BigQuery 表中。数据实时更新,延迟不超过 5 分钟。开发者可以编写自定义 SQL 查询进行分析,在 Looker Studio 中构建仪表板,或连接 ML 模型预测用户流失。
Firebase Analytics 和 Google Analytics 4 (GA4) 使用共同的事件模型和 BigQuery 基础设施,但在目的和功能上存在关键差异。GA4 专注于面向营销人员的 Web 分析和跨平台报告,而 Firebase Analytics 则针对移动开发者和与其他 Firebase 服务的集成。
| 特性 | Firebase Analytics | GA4 |
|---|---|---|
| 主要渠道 | 移动应用 | 网页 + 应用 |
| 与 Firebase 集成 | 原生 | 通过 Firebase SDK |
| Cloud Messaging | 直接受众 → 通知 | 仅通过导入受众 |
| DebugView | 内置 | 通过 Firebase |
| 自定义漏斗 | 是,在 Firebase 控制台中 | 是,在 GA4 界面中 |
在 Firebase Analytics 和 GA4 之间的选择取决于项目的生态系统。如果应用积极使用其他 Firebase 服务(Crashlytics、Cloud Messaging、Remote Config),Analytics 是无缝集成的自然选择。如果主要目标是在统一界面中进行具有网站和应用的营销分析,GA4 提供了更广泛的报告和归因功能。根据 Google(2026 年)的数据,73% 的项目使用 Firebase Analytics 作为主要工具,GA4 作为营销报告的补充工具。
常见问题
Firebase Analytics 完全免费,对事件和用户数量没有限制。仅在导出的数据超过 BigQuery 免费限制时才会产生费用(每月前 10 GB 免费)。
是的,Analytics 使用自己的安装标识符(app instance ID),该标识符不依赖于 Google Play Services。在没有 Google Play 的设备上,SDK 在限制模式下运行,没有广告标识符。
在 Firebase 控制台中使用 DebugView。使用命令 adb shell setprop debug.firebase.analytics.app 您的包名 在设备上启用调试,所有事件将以小于 1 秒的延迟显示在 DebugView 中。
Firebase 提供删除 API —— 通过 Google Cloud Console 请求删除特定 app instance ID 或 user ID 的数据。数据将在 30 天内从所有 Firebase 存储系统中删除。
可以,只需在 build.gradle 中添加依赖 firebase-analytics-ktx 即可。所有自动事件将在 Gradle 同步和应用启动后立即开始收集。自定义事件通过单独代码添加。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。