38

I am testing the new Google-powered Firebase, and have implemented remote notifications and crash reporting. I am, however, having massive problems with getting Analytics to work.

I track events with FIRAnalytics.logEventWithName(...) and save user pproperties with FIRAnalytics.setUserPropertyString(...). However, no matter what I do, no data shows up in the Firebase Analytics Console.

Well, I do receive some events, but those are not sent by me (like first_open and session_start). Also, this data seems to drop in after a very long time.

Furthermore, when I track events and save user data, I receive the following:

Upload task scheduled to be executed in approx. (s): 3102.294599890709

This seems really strange - Firebase waiting almost an hour before trying to send the next batch of data must be a bug, or is it configurable? When I waited that extremely long delay out, data was sent...but does not show up.

4

10 回答 10

90

Firebase 事件被批处理并每小时上传一次,以防止设备过度消耗电池电量。在 iOS 上,当您在 1h 上传目标之前后台应用程序时,此时将在后台调度事件。

您可以为 iOS ( https://firebase.google.com/docs/analytics/ios/events#view_events_in_the_xcode_debug_console ) 启用调试日志记录,以查看何时在调试控制台中上传事件。

上传事件后,在数据显示在 Firebase Analytics 仪表板之前大约有 3 小时的延迟。此外,默认日期范围不包括“今天”,因此您只能看到昨天的事件。如果您想查看最新事件,可以切换日期选择器以包括今天。

延迟/批量数据上传的主要原因是为了节省电池。每次使用网络时,设备移动网络调制解调器都会进入高功率模式并在此模式下停留一段时间。如果经常使用网络,则会严重影响电池寿命。通过将上传批处理并延迟上传,对电池的影响显着降低。

于 2016-05-24T22:11:45.180 回答
27

在 Swift 中应该是这样的:

FIRAnalytics.logEvent(withName: "SignUp", parameters: ["user_id": userid, "user_name": username])

要在 Firebase 中查看此事件:

  1. 转到 Firebase 控制台 → 分析选项卡
  2. 点击 DebugView 选项卡;您的活动显示在那里

要在 Xcode 中查看此事件:

  1. 在 Xcode 中,选择 Product → Scheme → EditScheme
  2. 从左侧菜单中选择运行
  3. 选择参数选项卡
  4. 在启动时传递的参数中,添加-FIRAnalyticsDebugEnabled

只有一个破折号!!

请注意, -FIRAnalyticsDebugEnabled前面只有一个破折号。

于 2017-04-08T08:25:02.343 回答
14

如果您没有在控制台中接收事件,可能是因为您没有遵循命名约定,正如我所经历的,如果事件名称中有空格,它将永远不会出现在控制台中,如下所示:

mFirebaseAnalytics.logEvent("Add Camera", bundle);

但是当你像下面这样删除空间时:

mFirebaseAnalytics.logEvent("Add_Camera", bundle);

现在您将在大约 3 小时后在控制台中看到事件。应用程序将在以下情况下将数据发送到控制台:

1- Data is more than an hours old
2- App goes into the background

您可以观看本教程以获取更多信息: iOS 上的 Firebase Analytics 入门:事件 - Firecast

于 2016-10-17T09:55:28.800 回答
4

要检查的另一件事是确保您的日志记录条目Arguments Passed on Launch是正确的。他们应该以-例如

-FIRAnalyticsDebugEnabled

并不是

FIRAnalyticsDebugEnabled

前几天我浪费了一个小时想知道为什么什么都没有记录。

于 2019-06-09T09:02:33.410 回答
2

React-Native 应用程序 (IOS/Android)

我遇到了同样的问题,debugView 无法正常工作,并且 streamView 出现了几次故障,我发现测试我的事件的最佳方法是使用我的 logEventscreatePageEvent()然后

重要的是在记录事件后将应用程序置于后台,它们将几乎实时显示在 firebase 事件或 streamView 中(查看本文以查看事件何时发送到 firebase)

事件仅在记录后 1 小时后发送,或者如果您将应用程序置于后台,则立即发送。

import firebase, { RNFirebase } from 'react-native-firebase';

export default class AnalyticsService  {

    static async initialize() {
        firebase.analytics().setAnalyticsCollectionEnabled(true);
    }

    static async createPageEvent(screen: string) {
        firebase.analytics().setCurrentScreen(screen)
        firebase.analytics().logEvent(`open_${screen}`)
    }

}

结果是在streamView中几乎是实时的->

在此处输入图像描述

现在你可以开始构建漏斗之类的东西了

于 2019-04-30T10:35:19.377 回答
1

这里只是一个简单的说明:根据这个小视频https://www.youtube.com/watch?v=5pYdTgSkW5E在玩完你的模拟器后,你必须按下 Xcode 上的主页按钮,否则数据将不会发送到服务器。

于 2017-09-26T10:45:12.390 回答
1

first_opensession_start被 Firebase 列为自动收集的事件

我无法帮助您解决您在自定义事件中遇到的极端上传任务延迟。但 Firebase Analytics 还不到一周,这可能只是他们方面的一个错误。

我发现这个 StackOverflow 问题提到了相同的调试行,但与 Google App Measurement 或旧的 Google Mobile Analytics SDK 有关。

另外,请注意 Firebase 控制台不会实时显示事件(source):

您可以在 Firebase 控制台信息中心查看有关您的事件的汇总统计信息。这些仪表板全天定期更新。要立即进行测试,请使用上一节中描述的 logcat 输出。

于 2016-05-24T17:49:58.520 回答
0

确保您的设备未设置为省电模式。在这种模式下,事件可能会累积并偶尔发送一次,即使您按照其他人的解释在调试模式下运行 firebase 也是如此。

于 2020-10-14T16:38:52.783 回答
0

大多数人面临的最常见问题是即使一切正常,firebase 也没有记录事件这是我在文档中找到的

如果您需要在应用程序的某个版本中永久停用 Analytics 收集,请FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES在应用程序的 Info.plist 文件中进行设置。设置FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES优先FIREBASE_ANALYTICS_COLLECTION_ENABLED于应用程序中的Info.plist任何值以及使用 setAnalyticsCollectionEnabled 设置的任何值。

要重新启用收集,FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED请从您的Info.plist. 设置FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDNO没有效果,并导致与未FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED设置相同的行为Info.plist file

因此,您必须FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDgoogle-servicesinfo.plist文件中删除才能使分析工作

于 2019-03-27T06:20:19.347 回答
0

在 Firebase 中更新事件需要太多时间。可能每天进行一次。请参阅Firebase 事件的iOSAndroid日志记录。

您可以启用详细日志记录以监控 SDK 的事件日志记录,以帮助验证事件是否被正确记录。这包括自动和手动记录的事件。

您可以启用详细日志记录,如下所示:

  1. 在 Xcode 中,选择 Product > Scheme > Edit scheme...
  2. 从左侧菜单中选择运行。
  3. 选择参数选项卡。
  4. 在启动时传递的参数部分中,添加 -FIRAnalyticsDebugEnabled。

下次运行应用程序时,您的事件将显示在 Xcode 调试控制台中,帮助您立即验证是否正在发送事件。

于 2020-12-02T12:00:43.157 回答