Firebase Analytics 看似运行完美,但就是不显示?

Fat*_*tie 11 ios firebase-analytics

在一个广泛使用 Firebase 的大型应用程序中,我正在尝试分析,

在此输入图像描述

-FIRDebugEnabled设置得很好。

设备上的日期/时间设置正确。

我已经尝试了所有模拟器、系留设备,甚至构建到 TestFlight。

所需的东西在应用程序启动中..

    FirebaseConfiguration.shared.setLoggerLevel(.max)
    FirebaseApp.configure()
    // helps Analytics get going:
    AnalyticsConfiguration.shared().setAnalyticsCollectionEnabled(true)
Run Code Online (Sandbox Code Playgroud)

同样,Firebase 实时和数据库自始至终都能完美运行。

所以使用Analytics.logEvent#...

请注意,这些项目完美地显示在 Xcode 控制台中

2018-07-24 08:27:23.868 Blah[7501] <Debug> [Firebase/Analytics][I-ACS023105] Event is
not subject to real-time event count daily limit. Marking an event as
real-time. Event name, parameters: select_content, {
        firebase_event_origin (_o) = app;
        firebase_realtime (_r) = 1;
        item_name = tapMyProfile;
        firebase_screen_class (_sc) = Blah.SomeScreen;
        firebase_debug (_dbg) = 1;
        firebase_screen_id (_si) = 8314738347840858914;
        item_id = Blah-tapMyProfile;
        content_type = tapMyProfile;
    }
Run Code Online (Sandbox Code Playgroud)

或者 ...

2018-07-24 08:56:12.393306-0500 Blah[7501:135963] [Firebase/Analytics][I-ACS023073] Debug
mode is enabled. Marking event as debug and real-time. Event name,
parameters: select_content, {
    firebase_event_origin (_o) = app;
    firebase_screen (_sn) = MyProfile;
    item_name = tapCamera;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = Blah.OldDevDotScreen;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = 8314738347840858915;
    item_id = Blah-tapCamera;
    content_type = tapCamera;
}
Run Code Online (Sandbox Code Playgroud)

请注意tapMyProfiletapCamera,这是我的自定义事件之一Analytics.logEvent#

这样的分析似乎确实运行良好:

在此输入图像描述

因此,这些数字每隔几个小时更新一次等等。

同样,每个项目都完美地出现在 Xcode 控制台中。

但无论如何,Firebase 调试控制台上都不会显示任何内容!

在此输入图像描述

没有什么!

到底是什么问题呢?

(此外,我已经等了一天或更长时间,它们也没有显示为事件。)

怎么在调试中什么也没有出现???

Sha*_*ank 15

TL:DR - 从设备/模拟器中删除您的应用程序,从 XCode 重建并启动。

尽管 Firebase 和 Firebase Analytics 似乎设置得非常完美,但我也遇到了完全相同的问题。

我还无法给出确切的逻辑解释来说明为什么会起作用,但是在大约 5 分 30 分的 Firebase 事件教程中给出了一个提示。

他提到 -FIRAnalyticsDebugEnabled 设置已保存到磁盘。

因此,在配置和集成 Firebase 后,我运行了已安装的应用程序来测试一切正常,但 Firebase 控制台没有向我显示任何应用程序事件消息。

最好仔细检查一下您在发送事件时没有使用特殊字符,也没有超过字符阈值,但是即使您犯了这些错误,您也应该看到 screen_open、app_open、user_engagement 的默认事件没有显示我。

我唯一的理论是,从已安装的状态启动应用程序不会影响 -FIRAnalyticsDebugEnabled 的新设置。

因此,当我删除应用程序、重新构建并从 XCode 运行时,事件开始出现。 调试视图中的 Firebase 控制台事件

最后,在测试时,您可能会使用另一台设备,您可能会想,我在前一个设备上看到了我的事件,但下一个设备没有任何反应,这让我困惑了一会儿,记得切换设备 Firebase 控制台事件切换设备

然而,总而言之,我可以说这种行为远不可靠,因为在一段时间(2-3小时)后,当我再次运行我的应用程序时,Firebase控制台上再次没有显示任何内容,就好像 -FIRAnalyticsDebugEnabled 已被禁用一样。

删除并重新安装又有效。

2022 年更新

上述步骤仍然适用。关于为什么您可能看不到您似乎已成功记录的事件的原因,仅补充两点:

  • 执行清理+构建+运行

  • 有些keywords似乎没有被记录,因为它们可能已经被分析框架使用。例如,当我尝试跟踪搜索事件时,我的参数字典中的键之一是,keyword这似乎从未被跟踪,所以使用其他东西并尝试一下


小智 3

检查您设备的时间设置。时间需要准确。

  • 问题显示“设备上的日期/时间设置正确”。那么为什么这是公认的答案呢? (9认同)