如何收集 Electron 桌面应用程序的用户指标?

How to gather user metrics for an Electron desktop app?

我想收集一些关于基于 Electron 的跨平台桌面应用程序使用情况的指标。这将包括有关用户环境的基本信息(OS、屏幕尺寸等)以及跟踪使用情况的能力,例如跟踪打开应用程序的次数或应用程序内的特定操作。

应将这些指标发送到分析服务器,以便对其进行汇总查看。理想情况下,我可以自己托管服务器端组件,但肯定会考虑由第三方托管的解决方案。

有多种针对网络(Google Analytics、Piwik)和移动应用程序的分析解决方案,以及针对 Node.js 服务器端应用程序的解决方案。将这些解决方案之一应用于基于 Electron 的桌面应用程序是否可行?如何?或者是否有任何专门设计用于与 Electron / javascript 一起使用的桌面应用程序的良好分析解决方案?

与典型的网页不同,用户可能正在离线使用该应用程序,因此应记录离线操作、排队并稍后在用户在线时发送。桌面应用程序通常从文件系统而非 HTTP 加载页面,因此解决方案需要能够应对这种情况。

与 Node.js 服务器端应用程序不同,可能有大量客户端,而不仅仅是一个(或几个)服务器实例。桌面应用程序的分析将以用户为中心,而服务器端 Node.js 应用程序可能不是。

易于设置也是一个重要因素 - 理想的解决方案只需几行配置即可收集基本指标,然后可以根据需要使用自定义进行扩展 actions/events。

最简单的方法是使用 Google Analytics 或类似产品。

对于大多数人来说,在网站上托管有两个主要问题需要解决:

  1. Electron 不存储 cookie 或运行之间的状态。你必须手动存储这个
  2. 大多数分析库会忽略 file: 网址,因此它们只会从互联网上获得点击率

使用 an existing library and most 这些问题已经为您解决。