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

2016-06-20 android google-analytics firebase-analytics

背景

在最近几个月中,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命令启用详细日志记录:

    亚行外壳setprop log.tag.FA详细 亚行外壳setprop log.tag.FA-SVC详细 亚行logcat -v时间-s FA FA-SVC

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

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

Answers

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

  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,并且在可预见的将来将对其进行支持和更新。如果您已经在应用程序中投入使用它,并且它可以满足您的需求,则无需离开它。

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/

Related