如果在应用运行时没有互联网连接且之后从未打开应用,那么logged events会发生什么?
当互联网连接出现时,Firebase是否使用某种JobScheduler(以及iOS的其他替代方案)来同步记录的事件?
答案 0 :(得分:1)
在对该问题的评论中,@ SergGr和@Frank表示在iOS上,该活动永远不会上传。
在Android上,我的观察是事件被记录到处理缓冲和上传的共享系统服务(不是应用程序的一部分)。因此,服务稍后会上载没有互联网连接时记录的事件,无论原始应用程序是否仍在运行。
enabling analytics logging可以观察到此行为,并在adb
窗口中查看日志输出。系统服务的标签是FA-SVC。
下面列出了摘录日志输出的一些示例。我为我的测试执行了这些步骤:
// uploading seems occur about every hour
03-02 07:40:42.397 V/FA-SVC ( 1889): Upload scheduled in approximately ms: 3599957
// the service detects connectivity changes
03-02 06:47:16.496 V/FA-SVC ( 1889): NetworkBroadcastReceiver received action: android.net.conn.CONNECTIVITY_CHANGE
// this log marks the start of upload; followed by logs for each uploaded event
03-02 07:40:41.757 V/FA-SVC ( 1889): Uploading data. app, uncompressed size, data: com.qbix.xxxx, 3450