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

Posted

技术标签:

【中文标题】如何从 Google-Analytics 迁移到 Firebase-Analytics?【英文标题】:How to move from Google-Analytics to Firebase-Analytics? 【发布时间】:2016-10-21 12:55:21 【问题描述】:

背景

最近几个月,Google 发布了一个新的 Analytics 替代方案,名为“Firebase Analytics”。

问题

由于该应用已经有 Google-Analytics,我发现了一些我不知道如何最好地处理的障碍。

问题

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

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

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

    以前,我可以跟踪“屏幕”:

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

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

    可能是最重要的事情:以前我可以使用类别、操作、标签和值进行跟踪:

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

    现在我看到了一种完全不同的方式来跟踪事件(“自定义事件”),使用 bundles。示例:

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

    它是如何工作的?在website of 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);
    
    

    哪些事件实际上被自动跟踪(我问这个是因为有人说我不应该使用,here)?它们包括购买吗?应用程序邀请?广告?我在控制台网站的哪里可以看到它们?

    关于日志,it says 表示新 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

    这些命令有什么作用?我怎样才能禁用它?我注意到它甚至会显示在应用程序的发布版本中......

    新的 SDK 是否应该取代 Google-Analytics?是否建议完全迁移到它? Google-Analytics 会有更新吗?

【问题讨论】:

为什么要投票结束? :( 旁注,我一直在研究 Firebase Analytics,并刚刚在我的 react-native 应用程序上实现了它。它似乎被重新命名为“Google Analytics for Firebase”firebase.google.com/docs/analytics iS GOOGLE 分析已弃用网络? @AhmadArslan 我不知道 【参考方案1】:

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

    Google Analytics 报告跟踪器 ID,Firebase Analytics 报告应用程序。在您的 google-services.json 中定义的应用程序中只有一个 id。该 ID 由“google_app_id”名称下的 google 服务插件转换为字符串资源。应用中的所有事件都会报告给这个单一的 ID。 Firebase Analytics 会自动报告 AdId。您无需启用它。 没有dryRun 功能。您可以在开发过程中使用单独的 google-services.json,使用应用版本过滤掉开发版本或添加用户属性以标记用于开发的应用实例。

    您可以使用

    报告屏幕
    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);
    

    您可以使用相同的参数记录自定义事件

    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 个事件名称。记录超过此值将导致您的某些数据被忽略。

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

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

    适用于 androidios 的 Google Analytics SDK 并未被弃用,并且在可预见的将来会得到支持和更新。如果您已经在自己的应用中投资使用它并且它可以满足您的需求,那么您无需放弃它。

【讨论】:

5.根据这些帖子,似乎还不支持使用自定义捆绑内容:***.com/a/37779048,***.com/a/37511858。太糟糕了。 感谢您的评论。在 5 中将值更改为 long。目前还没有关于所有参数的自动报告,但您可以将帐户链接到 BigQuery 并使用它来创建报告。 BigQuery 有一些免费配额,可能就是您所需要的。 Abotu 3. 默认为报告。 4.屏幕报告不是自动的。您需要在显示内容时记录事件。 5. 如果默认报表不够用,可以在 BigQuery 中查询数据。它具有您记录它们的原始事件。 6. 你应该忽略 app_uninstall。 7. 如果您启用调试日志在设备上,您将看到所有日志。 8.这是一个非常广泛的问题。您要询问哪些特定功能。如果 Firebase Analytics 与 Google Analytics 相同,它将是 Google Analytics 而不是 Firebase Analytics。 '“firebase_”、“google_”和“ga_”前缀是保留的,不应使用。':firebase.google.com/docs/reference/cpp/group/parameter-names我的建议不是“ga_event”,而是“abc_event”,其中“ abc" 是您或您的公司的首字母缩写词。 我来到这里是因为现在是 2019 年,而且 Google 很快就会弃用 GA 转而支持 FA,因此这一举措是强制性的。 support.google.com/firebase/answer/9167112【参考方案2】:

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

如何从谷歌分析转移到 Firebase 分析?

Google Analytics (GA) 和 Firebase Analytics (FA) 尽管名称相同,但在许多方面却大相径庭。 虽然 GA 是一种通用(且更面向 Web)的分析工具,但 Firebase 的构建考虑了移动性:因此,两者之间的功能集不同,FA 中添加了一些东西,GA 中缺少了一些东西.

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

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

至于是否应该考虑从一个切换到另一个,或者是否要保持两者并行,答案是:视情况而定。

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

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

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

【讨论】:

我来到这里是因为现在是 2019 年,而且 Google 很快就会弃用 GA 转而支持 FA,因此这一举措是强制性的。 support.google.com/firebase/answer/9167112 所以这意味着我们必须使用 Firebase Analytics 而不是 Google Analytics?我说的对吗? @Ryan 圣牛!我想 Firebase Analytics 转到 Google Analytics,但您的评论救了我!谢谢!

以上是关于如何从 Google-Analytics 迁移到 Firebase-Analytics?的主要内容,如果未能解决你的问题,请参考以下文章

谷歌分析 - 无法加载资源:http://www.google-analytics.com/ga.js

text JS:google-analytics

如何从 Rails Active Storage 中的 url 附加图像

如何将数据从 Ms 访问迁移到 Derby 数据库或如何将数据从 My sql 迁移到 Derby 数据库

如何从Eclipse迁移到IntelliJ IDEA

如何从Eclipse迁移到IntelliJ IDEA?