【问题标题】:Handling Google analytics in an offline enabled web app在启用离线的网络应用程序中处理 Google 分析
【发布时间】:2016-06-22 16:36:14
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: google-analytics service-worker progressive-web-apps sw-toolbox


    【解决方案1】:
    【解决方案2】:

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

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

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

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

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

    我打算开始使用 Firebase 来处理一些功能,firebase 也有一些分析。它会在设备离线时自动处理分析吗?

    此时,Firebase 分析仅适用于移动设备。如果您使用的是他们的 Web SDK,我认为您目前还没有得到任何分析。

    【讨论】:

    • 您能否提供一些有关如何使用offline-analytics.js 脚本的信息?我没有看到任何文档。但是看看代码,我想,我必须在我的服务中导入脚本或者咖啡,然后其他一切都会变魔术。对吗?
    • 是的,你可以用importScripts() 导入它,这是一个服务工作者的事情。对于一个有效的示例(尽管还有很多其他的事情发生),您应该查看Google I/O web app 源代码。
    猜你喜欢
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多