如何从Google Analytics(分析)迁移到Firebase-Analytics(分析)?


85

背景

在最近几个月中,Google发布了一种新的Google Analytics(分析)替代方法,称为“ Firebase Analytics ”。

问题

由于该应用程序已经具有Google Analytics(分析),因此我发现一些障碍,这些障碍我看不到如何最好地解决。

问题

  1. 以前,“ newTracker”功能需要一个属性ID。现在我看不到。这是否意味着它不需要一个?

  2. 以前,“ enableAdvertisingIdCollection”也可用于收集广告信息。我在新的API中找不到它。它会自动收集吗?

  3. “ setDryRun”可用于禁用将数据发送到服务器,但现在看不到。这是否意味着针对应用程序的调试版本会自动采用这种方式?是否所有功能都写入日志?

  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 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的第一个参数表现得像Google-Analytics的category参数一样,但是剩下的我应该/应该做什么?根据文档,这应该没问题:

    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. 哪些事件实际上是自动跟踪的(我问这个是因为有人说我不应该在这里使用)?它们包括购买吗?应用邀请?广告?在控制台网站上哪里可以看到它们?

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

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

    adb shell setprop log.tag.FA详细信息adb shell setprop log.tag.FA-SVC详细信息adb logcat -v时间-s FA FA-SVC

    这些命令做什么?如何禁用它?我注意到它甚至在应用程序的发行版中显示...

  8. 新的SDK是否应该取代Google Analytics(分析)?建议完全转向它吗?Google Analytics(分析)会进行任何更新吗?


1
为什么要投票关闭?:(
Android开发人员

1
旁注,我一直在研究Firebase Analytics,并在我的react-native应用程序中实现了它。似乎已将其更名为“ Google Analytics for Firebase” firebase.google.com/docs/analytics
我本人

互联网是否已淘汰GOOGLE Analytics?
艾哈迈德·阿尔斯兰

@AhmadArslan我不知道
Android开发人员

Answers:


56

许多问题捆绑在一起,因此我将尝试简要回答其中的大多数问题:

  1. Google Analytics(分析)报告跟踪器ID,Firebase Analytics报告应用程序。在您的google-services.json中定义的应用程序中只有一个ID。Google服务插件将ID转换为字符串资源,名称为“ google_app_id”。该应用程序中的所有事件均会报告到该单个ID。
  2. Firebase Analytics自动报告AdId。您不需要启用它。
  3. 没有dryRun功能。您可以在开发期间使用单独的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);
    
  5. 您可以使用相同的参数记录自定义事件

    Bundle params = new Bundle();
    params.putString("category", category);
    params.putString("action", action);
    params.putString("label", label);
    params.putLong("value", value);
    firebaseAnalytics.logEvent("xyz_event", params);
    

    “ ga_”前缀已保留,如果您使用它,分析将失败。而是使用“ xyz_”,其中xyz是公司的缩写。

    除非您要跟踪的类别很少,否则请勿将类别用作事件名称。Firebase Analytics支持多达500个事件名称。记录更多数据将导致您的某些数据被忽略。

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

  7. Firebase Analytics默认情况下禁用调试日志记录。它仅记录错误和警告。如果您未启用调试日志记录并且您的应用程序已正确配置,则在应用程序启动时将仅记录两行,其中包含有关如何启用调试日志记录的说明。没有什么可以在生产中禁用,也没有等效于Google Analytics(分析)的setLogLevel(ERROR)的功能。WARN是默认的日志记录级别。您只能通过在设备上运行adb命令来启用在单个设备上的登录)。这可以帮助您避免在启用调试日志记录的情况下将应用程序交付生产。

  8. 不建议弃用Android和iOS版Google Analytics(分析)SDK,并且在可预见的将来将对其进行支持和更新。如果您已经在应用程序中投入使用它,并且它可以满足您的需求,则无需离开它。


3
5.看来它不支持尚未使用自定义捆绑的东西,根据这些帖子:stackoverflow.com/a/37779048stackoverflow.com/a/37511858。太糟糕了。
Android开发人员

1
感谢您的评论。在5中将值更改为long。尚无所有参数的自动报告,但是您可以将帐户链接到BigQuery并使用它来创建报告。BigQuery拥有一些您可能需要的免费配额。Abotu 3.默认为报告。4.屏幕报告不是自动的。显示内容时需要记录事件。5.如果默认报告不足,则可以在BigQuery中查询数据。当您记录原始事件时,它具有原始事件。6.您应该忽略app_uninstall。7.如果在设备上启用调试日志记录则将看到所有日志。
djabi

1
8.这是一个非常广泛的问题。您要问什么特殊功能。如果Firebase Analytics与Google Analytics(分析)相同,则将是Google Analytics(分析)而不是Firebase Analytics。
djabi

2
“该‘firebase_’,‘GOOGLE_’和‘ga_’前缀保留,不应该被使用。”:firebase.google.com/docs/reference/cpp/group/parameter-names 而不是“ga_event”我的建议是“ abc_event”,其中“ abc”是您或您的公司的缩写。
KRA2008

5
我现在登陆这里是因为现在是2019年,Google很快就弃用Google Analytics(分析),而支持FA,因此此举是强制性的。support.google.com/firebase/answer/9167112
瑞安(Ryan)

13

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

如何从Google Analytics转变为Firebase Analytics?

Google Analytics(分析)(GA)和Firebase Analytics(FA),尽管有共同的名字,但在许多方面却有很大的不同。虽然GA是一种通用(且更多面向Web的)分析工具,但Firebase的构建始终牢记移动性:因此,两者之间的功能集有所不同,FA中添加了某些功能,而GA中缺少了一些功能。

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

  • 缺少实时视图
  • 4-6小时后即可举办活动
  • 行为流程(来自GA)缺失
  • 受众群体具有FA的一大优势,并且与通知结合使用,可以让您与特定的用户群体互动
  • 使用Firebase崩溃报告时,系统会自动创建一个具有崩溃用户的受众群体
  • 渠道分析比Google Analytics(分析)更有意义,因为FA基于事件而不是屏幕视图
  • 免费且无限制,活动类型除外(限制为500);每种类型的事件数量无限制
  • 某些事件会自动记录(例如,基于“活动”生命周期的会话)
  • 与GA方法相比,方法占用空间相对较小
  • 易于设置,无需初始化,仅包含Gradle依赖项并开始记录事件
  • 多合一控制台(如果您计划使用其他Firebase服务)

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

  • 如果您以前广泛使用GA,则有可能在完全切换到FA时会丢失其某些功能。
  • 但是,如果这是您的项目的新起点,则FA更倾向于跨平台的面向移动的环境,因此您很可能将其视为自己的分析工具。

另外,请记住,Firebase刚刚启动,Google计划在未来几周内增加更多功能(例如,实时仪表板)。

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


11
我现在登陆这里是因为现在是2019年,Google很快就弃用Google Analytics(分析),而支持FA,因此此举是强制性的。support.google.com/firebase/answer/9167112
瑞安(Ryan)

1
因此,这意味着我们必须使用Firebase Analytics而不是Google Analytics?我对么?
Sumit Shukla

@瑞安圣牛!我想Firebase Analytics转到Google Analytics (分析),但您的评论救了我!谢谢!
Aleksandar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.