在支持离线的网络应用程序中处理 Google 分析

Handling Google analytics in an offline enabled web app

我是 Codiva - java ide and online compiler 的开发者。我正在努力改进离线支持,减少网络使用,尽可能通过预缓存减少延迟。

我想知道如何处理对 google 分析的请求。

  1. 首先是ga脚本。我使用 google 标签管理器来设置 GA。是否可以缓存那个请求,也就是说,我可以对这个请求使用 networkFirst 策略吗?还是应该始终是 networkOnly?

  2. 如何确保正确跟踪离线发生的操作?

  3. 我打算开始将 Firebase 用于某些功能,Firebase 也有某种分析功能。它会在设备离线时自动处理分析吗?

First is the ga script. I use google tag manager to setup GA. Is it okay to cache that request, that is, can I use networkFirst strategy for this request? Or should it always be networkOnly?

我不确定缓存 GTM 脚本是否明智。 analytics.js 脚本相对静态,但 GTM 脚本可以由有权访问您的 GTM 帐户的任何人更新。在那里所做的更改显然不会传播到脚本缓存版本的用户。

How to make sure the actions that happened offline gets tracked correctly?

关键是使用 qt 参数,它允许您在事后发送命中,并指定其时间偏移。

今天有一个非官方的 service worker 脚本可以执行此操作,您应该看看。它可能很快就会得到官方支持: https://gist.github.com/jeffposnick/466ef7578c4c880a78c7270e6ac69620

I am planning to start using Firebase for some featuers, firebase also has some kind of analytics. Would it automatically handle analytics when the device goes offline?

此时 Firebase 分析仅适用于移动设备。如果您使用的是他们的网络 SDK,我认为此时您不会获得任何分析。

使用 Service Worker 助手进行 Google 分析:

https://developers.google.com/web/updates/2016/07/offline-google-analytics?hl=en

试用 PWA 模板 https://github.com/StartPolymer/progressive-web-app-template