我尝试在某种桌面应用中引入Google Analytics,所有加载文件都是通过file:// not http或localhost完成的(因为大部分时间它都是脱机工作)。任何使用Google Analytics或Google跟踪代码管理器跟踪应用程序使用的尝试均无效。
例如,我使用过:
ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', 'checkProtocolTask', null);
ga('set', 'checkStorageTask', null);
ga('send', 'pageview');
正如here所述(添加了ga(' set',' checkStorageTask',null); )没有结果。
有人处理过这种情况吗?
答案 0 :(得分:4)
我进行了非常快速的测试。 ga('set', 'checkStorageTask', null);
对我没有任何作用,相反我发现有必要在跟踪器创建时将存储设置为无(这是有道理的,因为您无法使用文件协议设置cookie)。这也意味着您可能无法进行会话跟踪,因为每次点击都会生成一个新ID。
ga('set', 'checkProtocolTask', null)
似乎是必要的 - 否则调试器会自然地抱怨该文件不是有效的协议。
之后数据已成功发送,但未在实时视图中显示。我怀疑报告引擎可能不喜欢文件协议并设置" location"具有正确协议的字段。所以我最终得到了:
ga('create', 'UA-XXXXXX-5' , {'storage':'none'});
ga('set', 'checkProtocolTask', null);
ga('send', 'pageview' , {'location' : document.location.href.replace('file','http') });
并显示在实时报告中。这是一个真正的快速测试,因此您需要独立验证。请注意,您不需要设置cookie域(代码示例中的" auto"参数),因为您无法在任何情况下设置cookie(没有域将cookie设置为)。
此外,如果您在大多数时间离线工作,GA将无法工作(您需要加载analytics.js文件,并且您需要向跟踪服务器发送调用),但您可能已经意识到这一点。