Firebase Analytics 如何跟踪它的自动事件?

How does Firebase Analytics track it's automatic events?

Firebase Analytics 跟踪许多默认事件:https://support.google.com/firebase/answer/6317485

有些喜欢

是未发送到受影响包的 BroadcastIntents。例如,ACTION_PACKAGE_FIRST_LAUNCH 仅发送到安装程序包,而不发送到正在安装的包 (source)。

Firebase Analytics 如何仍然设法跟踪这些事件?他们的方法是什么?

first_openapp_update 基于存储在磁盘上的数据。每次 Firebase Analytics 启动时,它都会读取磁盘上存储的状态并检查这是否是应用 运行 的第一次。如果是这种情况,将记录 first_open 事件并更新磁盘上的状态。 app_upgrade 的工作原理类似。当 Firebase Analytics 启动时,检查应用程序最后一次看到它时的版本 运行ning。如果版本不同,它会记录 app_update 事件并更新磁盘上的状态。在有和没有 Google Play 服务的设备之间,磁盘状态的保存位置不同。在具有该服务的设备上,状态保存在 Google 播放服务数据中。在非 Google Play 设备上,数据与应用程序一起保存。

app_clear_dataapp_remove 仅适用于具有 Google Play 服务的设备(大多数 Android 设备)。 Firebase 服务在 Google Play Services 内的磁盘 运行s 上记录状态,因此当应用程序 运行s 应用程序中有代码告诉 Google Play Services 如果其存储在应用数据中的共享首选项文件已被删除。 Google Play Services 然后检查此应用程序过去是否有 运行,如果有 运行,则假定应用程序数据已清除并记录 app_clear_data

对于 app_remove,删除包时会从 Package Manager 广播。 Google Play 服务监听这个广播,当它收到它时 app_remove 事件被记录下来,所有与这个应用程序相关的数据都从设备中删除。