如何从Google-Analytics迁移到Firebase-Analytics?

背景

在最近几个月中,Google发布了一个名为“ Firebase Analytics ”的新分析方法。

问题

由于该应用程序已经有谷歌分析,我发现一些障碍,我不明白如何最好地处理。

问题

  1. 以前,“newTracker”函数需要一个property-id。 现在我没有看到它。 这是否意味着它不需要?

  2. 此前,“enableAdvertisingIdCollection”也可用于收集广告信息。 我无法在新的API中find它。 是否自动收集?

  3. “setDryRun”可以禁止发送数据到服务器,现在我没有看到它。 这是否意味着它是自动的这种方式debugging版本的应用程序? 所有function都写入日志吗?

  4. 以前,我可以跟踪一个“屏幕”:

    public void setScreenName(String name) { mGoogleAnalyticsTracker.setScreenName(name); mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build()); } 

    现在我没有看到它,但是正如我读过的那样,我认为它是自动的,所以它无论如何都会发送活动生命周期的数据。 这是真的吗?

  5. 可能是最重要的事情:以前我可以使用类别,动作,标签和价值进行跟踪:

     public void trackEvent(final String category, final String action, final String label, final long value) { mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder() .setCategory(category).setAction(action) .setLabel(label).setValue(value).build()); } 

    现在我看到一个完全不同的方式来跟踪事件(“自定义事件”),使用捆绑 。 例如:

     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); 

    它是如何工作的? 它是如何显示在Firebase Analytics网站上的 ? 我想我可以让logEvent的第一个参数像谷歌分析的类别参数一样,但是我可以做什么呢? 根据文档,这应该是好的:

     public void trackEvent(final String category, final String action, final String label, final long value) { Bundle bundle = new Bundle(); bundle.putString("action", action); bundle.putString("label", label); bundle.putLong("value", value); mFirebaseAnalytics.logEvent(category, bundle); } 
  6. 哪些事件实际上被自动跟踪(我问这是因为有人说我不应该在这里使用)? 他们包括采购? APP-邀请? 广告? 我在哪里可以看到他们在控制台网站?

  7. 关于日志, 它表示新的SDK通过以下方式实现:

    您可以使用一系列adb命令启用详细日志logging:

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

    这些命令是做什么的? 我怎样才能禁用它? 我注意到它甚至显示在应用程序的发布版本…

  8. 新的SDK是否应该取代Google Analytics? 有人build议完全转向吗? Google Analytics(分析)是否有更新?

很多问题都捆绑在一起,所以我会尽量简单回答大部分问题:

  1. Google Analytics(分析)会报告跟踪器ID,Firebase Analytics报告应用程序。 在google-services.json中定义的应用程序中只有一个id。 该ID通过google服务插件在“google_app_id”名称下翻译为string资源。 从应用程序的所有事件都报告给这个单一的ID。
  2. Firebase Analytics会自动报告AdId。 你不需要启用它。
  3. 没有dryRunfunction。 您可以在开发过程中使用单独的google-services.json,使用应用程序版本过滤掉开发版本,或添加用户属性来标记用于开发的应用程序实例。
  4. 您可以用屏幕报告
 Bundle params = new Bundle(); params.putString(FirebaseAnalytics.PARAM.ITEM_CATEGORY, "screen"); params.putString(FirebaseAnalytics.PARAM.ITEM_NAME, "screen name"); firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params); 
  1. 您可以使用相同的参数logging自定义事件
 Bundle params = new Bundle(); params.putString("category", category); params.putString("action", action); params.putString("label", label); params.putLong("value", value); firebaseAnalytics.logEvent("ga_event", params); 

除非您想要跟踪的类别很less,否则不要将该类别用作事件名称。 Firebase Analytics最多可支持500个活动名称。 logging更多,那会导致你的一些数据被忽略。

  1. 在FirebaseAnalytics.Event类的开头有一个保留的事件名称列表。 它大致代表了所报告的自动事件。

  2. Firebase Analytics默认情况下禁用了debugging日志loggingfunction。 它只logging错误和警告。 如果您没有启用debugging日志logging,并且您的应用程序configuration正确,那么当应用程序以关于如何启用debugging日志logging的说明开始时,只有两行被logging。 在生产中没有什么可以禁用的,并且没有等同于来自Google Analytics的setLogLevel(ERROR)。 WARN是默认的日志logging级别。 您只能通过在设备上运行adb命令来启用在单个设备上的日志logging)。 这可以帮助您避免在生产环境中启用debugging日志logging。

  3. 适用于Android和iOS的Google AnalyticsSDK不会被弃用,并将在可预见的将来得到支持和更新。 如果您已经在应用程序中投入使用,并且满足您的需求,则不需要离开它。

Google Analytics(分析)Google提供的免费网站分析服务,用于跟踪和报告网站stream量。 1 Google在收购Urchin后于2005年11月推出了这项服务。 Firebase是位于加利福尼亚州旧金山的云服务提供商和后端服务公司。 该公司为开发移动或Web应用程序的软件开发人员制作了许多产品。

**如何从谷歌分析转移到Firebase分析? 答:**尽pipe名称相同,Google Analytics(分析)和Firebase Analytics(FA)在很多方面都有很大的不同。 虽然GA是一个通用的(更加面向Web的)分析工具,但是Firebase是build立在移动的基础上的:因此,两者的function集是不同的,有些东西是在FA中添加的,而GA 。

更具体地说,考虑到Firebase Analytics,这些是值得注意的一点:

1)缺less实时视图2)事件在4-6小时后可用3)缺less行为stream(来自GA)3)观众具有FA的一大优势,并且与通知一起允许您从事与特定的用户组进行比较4)使用Firebase崩溃报告时,会自动创build遇到崩溃用户的用户5)漏斗分析比GA更有意义,因为FA基于事件而不是屏幕视图5)免费和无限制,除了事件types的数量(限于500); 对每种types事件的容量没有限制6)有些事件是自动logging的(例如,基于活动生命周期的会话)7)与GA的方法相比,相对较低的方法占用空间8)死容易设置,没有单身只需包含Gradle依赖关系并开始logging事件9)一体化控制台,如果您打算使用其他Firebase服务

至于是否应该考虑从一个切换到另一个,或者如果两者保持平行,答案是:这取决于。

1)如果以前广泛使用GA,完全切换到FA时可能会遗漏一些function。 2)但是,如果这是您项目的新开始,FA更倾向于跨平台的面向移动的环境,所以您可能会认为它是您自己的分析工具。

请注意,Firebase刚刚推出,Google计划在未来几周内添加更多function(例如实时信息中心)。

对于教程,您可以在这里findhttps://firebase.google.com/docs/analytics/android/start/