Firebase Analytics 中的时间戳准确性

Timestamp accuracy in Firebase Analytics

我们刚刚开始使用 Firebase Analytics 并将所有事件导出到 BigQuery。在处理 "app_remove" 事件时,我们注意到一件奇怪的事情。有时我们的服务器会在 app_remove 事件的时间戳(即 event_dim.timestamp_micros)之后从应用程序记录 activity。

虽然 运行,应用程序会定期联系我们的服务器,然后我们会记录该请求的 UTC 时间。有时最新的 activity 时间高于 app_remove 事件的时间戳。我们注意到的最大时差是 12 小时 23 分 17 秒。

每个应用程序实例都会获得一个唯一的证书,它在与服务器进行身份验证时使用该证书,因此如果卸载完成,则无法记录对该应用程序实例的任何新调用,即使您重新安装也是如此。重新安装后,将颁发新证书,activity 时间将记录在数据库中的不同行上。

怎么会这样? app_remove 的时间戳是否由客户端设置,因此可能导致用户 phone 上的时钟不正确?否则怎么可能发生?

event_dim.timestamp_micros 是根据设备时间在客户端记录事件的 UTC 时间,因此它确实受设备上的错误时钟时间的影响。