Firebase Analytics - 实时工作间歇性

Posted

技术标签:

【中文标题】Firebase Analytics - 实时工作间歇性【英文标题】:Firebase Analytics - Realtime works intermittently 【发布时间】:2021-09-06 06:29:51 【问题描述】:

我的应用使用 Firebase Analytics 来跟踪使用情况。我正在本地测试我的应用程序并尝试查看实时分析。有时它可以工作,我可以看到我的一个实时用户和事件,有时它什么也没显示。大多数时候我看不到任何数据。有时,我可以看到我的测试事件实时显示,但用户仍然显示 0。为什么 Realtime 偶尔会为事件工作而不是用户?

但是,如下图所示,没有用户。

这只是我在本地测试我的应用程序。有时我看到“一个”用户,但有时我没有。这是为什么呢?

我确实在日志中注意到了这条消息

Upload scheduled in approximately ms: 3359909

55 分钟后。那么我会在 55 分钟内看不到任何实时信息吗?真的不是实时的吗?

这是我的实现方式:

project(":android") 
    apply plugin: "com.android.application"
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.firebase-perf'
    apply plugin: 'com.google.firebase.crashlytics'

    dependencies 
        implementation 'com.google.firebase:firebase-analytics:19.0.0'
        implementation 'com.google.firebase:firebase-perf:20.0.0'
        implementation 'com.google.firebase:firebase-crashlytics:18.0.0'
        ...
    
    ...


@Override
protected void onCreate (Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    FirebaseAnalytics fb = FirebaseAnalytics.getInstance(this);
    ...

【问题讨论】:

【参考方案1】:

这是来自article 的引用(诚然,这是一篇 2017 年的文章,但这是我目前能找到的),它可以让我们开始寻找答案:

StreamView 在事件流入 Firebase Analytics 时将其可视化 [...]

(实时视图类似于 StreamView。)

如上所述,每当在您的应用中生成新事件时,都会安排将其批量上传,以节省网络使用量等。据我所知,这意味着任何“流入”Firebase Analytics (FA) 的事件都是从您的设备分批发送的事件。在您的情况下,这可能意味着第 0 分钟发生的事件在第 55 分钟“流入”FA。

现在回答你的问题。

“真的不是实时的吗?”

我相信它是实时的,但从 FA 的角度来看,而不是从您的应用的角度来看。在您进行测试时,这似乎很奇怪,因为您是事件的产生者和观察者。我认为他们设计了实时视图来观察应用程序在野外时的使用情况,在这种情况下,您可能会在延迟一段时间后观察到一组事件,但总体而言,您将继续看到新事件被记录下来,就像实时一样.

“有时它可以工作,我可以看到我的一个实时用户和事件,有时它什么也没显示。大多数时候我看不到任何数据。有时,我可以看到我的测试事件实时显示,但是用户仍然显示 0。”

鉴于上述解释或多或少是正确的,您现在可以了解为什么会看到间歇性数据。

您能否提供更多详细信息:

测试的方式, 您看到的实际事件与其在控制台上显示之间的延迟, 您在测试时使用的事件类型(带参数)?

这可能对正在测试其 FA 实施的任何人都有帮助(例如,几天前的我)。


调试视图

您可能希望使用 DebugView 来测试您的实现和事件数据。 DebugView 从您的应用程序的角度近乎实时地显示事件。请参阅实现的链接。


最后,一些对你测试有帮助的东西:

//(1)
// Allow events to be logged into DebugView at Firebase Console:
      $ adb shell setprop debug.firebase.analytics.app your.package.name
// And to disable:
      $ adb shell setprop debug.firebase.analytics.app .none.

//(2)
// Get live feedback on the logcat about Firebase Analytics actions:
      $ adb shell setprop log.tag.FA VERBOSE
      $ adb shell setprop log.tag.FA-SVC VERBOSE
      $ adb logcat -v time -s FA FA-SVC

//(3)
// To enable debug logging for Crashlytics on the development device:
      $ adb shell setprop log.tag.FirebaseCrashlytics DEBUG
// To view the logs in your device logs:
      $ adb logcat -s FirebaseCrashlytics
// To disable debug logging:
      $ adb shell setprop log.tag.FirebaseCrashlytics INFO

【讨论】:

以上是关于Firebase Analytics - 实时工作间歇性的主要内容,如果未能解决你的问题,请参考以下文章

CocoaPods 停止安装 Firebase/Analytics 并出现错误

来自 iOS 的 Firebase Analytics 事件未显示

将 Java 桌面应用程序连接到 Firebase-analytics

当我尝试将 Analytics 与通知一起使用时,Firebase 中没有静态方法 zzUr()

如何在 Firebase Analytics 中查看所有设备列表?

iOS 上的 Firebase Analytics 事件 - 测试和生产