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

and*_*per 82 android google-analytics firebase-analytics

背景

最近几个月,谷歌发布了一种名为" Firebase Analytics " 的新分析方案.

问题

由于该应用已经拥有Google-Analytics,我发现一些障碍,我无法看到如何最好地处理.

问题

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

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

  3. "setDryRun"可用于禁止将数据发送到服务器,现在我看不到它.对于应用程序的调试版本,这是否意味着它是自动的?是否所有函数都写入日志?

  4. 以前,我可以跟踪"屏幕":

    public void setScreenName(String name) {
        mGoogleAnalyticsTracker.setScreenName(name);
        mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
    }
    
    Run Code Online (Sandbox Code Playgroud)

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

  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());
    }
    
    Run Code Online (Sandbox Code Playgroud)

    现在我看到一种完全不同的方式来跟踪事件("自定义事件"),使用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);
    
    Run Code Online (Sandbox Code Playgroud)

    它是如何工作的?它是如何在Firebase Analytics网站上显示的?我想我可以让logEvent的第一个参数表现得像Google Analytics的类别参数,但是我能做什么/我应该做什么呢?根据文档,这应该没问题:

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

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

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

    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?是否建议完全转移到它?Google-Analytics会有任何更新吗?

dja*_*abi 52

很多问题捆绑在一起,所以我会尝试简要回答大部分问题:

  1. Google Analytics报告跟踪器ID,Firebase Analytics报告应用程序.您的google-services.json中定义的应用程序中只有一个ID.该ID通过google服务插件在"google_app_id"名称下转换为字符串资源.应用中的所有事件都会报告给此单个ID.
  2. Firebase Analytics会自动报告AdId.您不需要启用它.
  3. 没有dryRun功能.您可以在开发期间使用单独的google-services.json,使用应用版本过滤掉开发版本,也可以添加user-property以标记用于开发的应用实例.
  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);
    
    Run Code Online (Sandbox Code Playgroud)
  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);
    
    Run Code Online (Sandbox Code Playgroud)

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

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

  7. Firebase Analytics默认禁用调试日志记录.它只记录错误和警告.如果您未启用调试日志记录并且您的应用程序已正确配置,那么当应用程序启动时,只有2行记录有关如何启用调试日志记录的说明.在生产中没有什么可以禁用的,并且没有相当于Google Analytics的setLogLevel(ERROR).WARN是默认的日志记录级别.您只能通过在设备上运行adb命令启用单个设备上的日志记录.这有助于您避免在启用调试日志记录的情

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

  • 我登陆这里是因为现在是2019年,Google很快将Google Analytics(分析)不赞成使用FA,因此此举是强制性的。https://support.google.com/firebase/answer/9167112 (4认同)
  • 5.根据这些帖子,似乎尚未支持使用自定义捆绑包:http://stackoverflow.com/a/37779048,http://stackoverflow.com/a/37511858.太糟糕了. (2认同)
  • ““ firebase _”,“ google_”和“ ga_”前缀已保留,不应使用。”:https://firebase.google.com/docs/reference/cpp/group/parameter-names我的建议而不是“ ga_event”将是“ abc_event”,其中“ abc”是您或您的公司的缩写。 (2认同)

Shu*_*rma 13

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

如何从谷歌分析转向firebase分析?

谷歌分析(GA)和Firebase Analytics(FA)尽管有其共同的名称,但在许多方面存在很大差异.虽然GA是一种通用(并且更加面向Web)的分析工具,但Firebase的构建始终牢记移动:因此,两者之间的功能集不同,其中一些内容在FA中添加,而GA中缺少的内容.

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

  • 缺少实时视图
  • 活动在4-6小时后可用
  • 行为流(来自GA)缺失
  • 受众群体具有FA的一大优势,并且通过通知,您可以与特定的用户群进行互动
  • 使用Firebase崩溃报告时,系统会自动创建遇到崩溃的用户
  • 漏斗分析比GA更有意义,因为FA基于事件而不是屏幕视图
  • 免费且无限制,除了活动类型的数量(限于500); 每种类型的事件量没有限制
  • 自动记录某些事件(即,基于活动生命周期的会话)
  • 与GA的方法相比,相对较低的方法足迹
  • 无法轻松设置,没有单例进行初始化,只需包含Gradle依赖项并开始记录事件
  • 一体化控制台,如果您打算使用其他Firebase服务

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

  • 如果您以前广泛使用过GA,那么当完全切换到FA时,您可能会遗漏一些功能.
  • 但是,如果这对您的项目来说是一个全新的开始,那么FA更容易出现跨平台的移动导向环境,因此您可能会将其视为自己的分析工具.

另外请注意,Firebase刚刚推出,Google计划在未来几周内添加更多功能(例如,实时仪表板).

有关教程,请访问https://firebase.google.com/docs/analytics/android/start/

  • 我登陆这里是因为现在是2019年,Google很快将Google Analytics(分析)不赞成使用FA,因此此举是强制性的。https://support.google.com/firebase/answer/9167112 (5认同)