欢迎访问我的博客,有问题可以在任意文章底部留言评论

Firebase Analytics(GA4 for Firebase)集成指南

FireBase Haran 9年前 (2017-06-06) 30457次浏览 8个评论

随着移动互联网的发展,用户行为数据已经成为产品优化、用户增长和营销决策的重要依据。对于Android和iOS应用而言,GA4 for Firebase是Google官方推荐的数据采集与分析方案,也是目前移动应用最主流的分析平台之一。

本文将介绍Firebase Analytics的基本概念、Android与iOS的集成方法,以及开发过程中需要注意的最佳实践,帮助开发者快速建立完整的App数据分析体系。

什么是 Firebase Analytics?

Firebase Analytics(现称 Google Analytics for Firebase)是Google Firebase平台的重要组成部分,也是GA4在移动应用(App)中的数据采集SDK。

它负责采集App用户行为数据,并将数据发送到GA4,由GA4提供报表分析、受众管理、广告归因、探索分析等能力。

简单来说:

  • Firebase Analytics:负责数据采集
  • GA4:负责数据分析

两者共同组成了完整的移动应用数据分析平台。

Firebase Analytics 的主要功能包括:

  • 自动采集用户行为事件(如首次打开、会话开始、页面浏览等)
  • 支持自定义事件和用户属性
  • 与Firebase生态系统(Crashlytics、Cloud Messaging、Remote Config、A/B Testing等)无缝集成
  • 支持将数据导出至BigQuery,进行高级数据分析
  • 与Google Ads、Display & Video 360等广告平台打通,实现广告归因和再营销

集成前的准备工作

在开始集成Firebase Analytics之前,需要先创建Firebase项目,下载配置文件。

不同平台对应的配置文件如下:

平台 配置文件
Android google-services.json
iOS GoogleService-Info.plist

 

在Android中集成Firebase Analytics

添加SDK

建议使用Firebase BoM统一管理Firebase SDK版本。

在build.gradle文件中添加Firebase Analytics SDK:

dependencies {
    implementation platform('com.google.firebase:firebase-bom:34.3.0')
    implementation 'com.google.firebase:firebase-analytics'
}

建议使用Firebase官方最新的BoM版本,而不要固定较旧版本,以便及时获得新功能和Bug修复。

 

添加配置文件

将 google-services.json 放入 app/ 目录,并在 build.gradle 添加:

apply plugin: 'com.google.gms.google-services'

 

初始化 Firebase

大多数情况下,Firebase 会根据配置文件自动完成初始化,无需开发者额外编写初始化代码。

只有在多 Firebase Project 等特殊场景下,才需要手动调用:

FirebaseApp.initializeApp(this)

自动事件收集

Firebase Analytics 默认会自动采集部分用户行为,无需开发者手动埋点。

常见自动事件包括:

  • first_open:首次打开应用
  • session_start:会话开始
  • screen_view:页面浏览

开发者无需重复发送这些事件。

 

自定义事件

业务相关事件需要开发者主动上报。例如:

val analytics = Firebase.analytics
val bundle = Bundle().apply {
    putString("item_id", "123")
}
analytics.logEvent("add_to_cart", bundle)
建议优先使用Google推荐事件。

 

用户属性

用户属性用于描述用户特征,例如:

analytics.setUserProperty("membership_level", "gold")

 

在iOS中集成Firebase Analytics

添加SDK

通过 CocoaPods 安装 Firebase Analytics:

pod 'Firebase/Analytics'

也可以使用 Swift Package Manager(SPM)进行安装。

 

添加配置文件

将 GoogleService-Info.plist 拖入 Xcode 项目,并确保 Target 中包含。

初始化 Firebase

在 AppDelegate 中:

import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        FirebaseApp.configure()
        return true
    }
}

自动事件

iOS 同样会自动采集:

  • first_open
  • session_start
  • screen_view

开发者无需额外埋点。

 

自定义事件

例如添加购物车事件:

Analytics.logEvent("add_to_cart", parameters: [
    "product_id": "123" as NSObject
])

用户属性

Analytics.setUserProperty("vip_status", forName: "membership_level")

使用DebugView调试

开发过程中,推荐使用 Firebase 的 DebugView 实时验证事件是否成功发送。

DebugView 可以查看:

  • Event
  • Parameter
  • User Property
  • 当前设备事件流

Android 可通过 ADB 开启调试模式:

adb shell setprop debug.firebase.analytics.app your.package.name

iOS 可在启动参数中添加:

-XFIRDebugEnabled
需要注意的是,DebugView 仅用于验证 SDK 是否正常发送事件,并不代表正式报表已经生成数据。GA4 的标准报表通常需要经过后台处理后才会显示。

有疑问可以在底部留言
喜欢 (7)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8)个小伙伴在吐槽
  1. 您好 我们谷歌广告账户投放网站,但是很多用户也通过下载app去付费了,我们想在广告账户里安装firebase追踪这部分通过广告引流到app的数据,但是导入了firebase和appsflyer,不管是first open还是in app purchase都没有数据,我们在firebase也标记了转化事件,这种情况大概率是因为什么原因导致的呢?非常感谢!
    supurple2025-09-19 11:06 回复 Mac OS X | Chrome 140.0.0.0
    • Haran
      IOS还是Android? Firebase有数据,但关联后关键事件完全没有导入Ads?
      Haran2025-09-19 12:06 回复 Mac OS X | Chrome 140.0.0.0
      • ios和andorid都没有数据 用firebase做的 关联后标记关键事件 把in app purchase都导入了ads后台 这些在firebase后台是能看见有数据的 数据库也有网站投放广告的utm出单的数据
        supurple2025-09-19 12:10 回复 Mac OS X | Chrome 140.0.0.0
        • Haran
          Firebase里,关键事件能否正常归因到Ads? Firebase里的数据规模多大?
          Haran2025-09-22 21:39 回复 Mac OS X | Chrome 140.0.0.0
  2. 请问,我的firebase里来源都是direct?这是什么原因呢?是哪里需要再设置一下吗?着急?多谢?
    小乔2018-08-10 09:07 回复 Mac OS X | 未知浏览器
    • Haran
      直接访问,APP不像web能够传递referral,应该用UTM才能区分不同的来源
      GA小站2018-08-13 14:57 回复 Windows 7 | Chrome 63.0.3239.132
  3. 翻译的文章?读起来怪怪的。
    kk2017-10-17 14:01 回复 Windows 10 | Chrome 61.0.3163.79
    • Haran
      是的,外语不过关,有些结合我对ga和gtm的理解来翻译的。
      GA小站2017-10-18 17:54 回复 Windows 10 | Chrome 61.0.3163.100