我们如何统计用户数

This post is also available in: English 日本語 Русский Français Español Deutsch Nederlands Српски Português Български

从 Vivaldi 2.7 开始,用户计数已更改,以逐渐减少使用唯一 ID。

  • 现在,已向我们的用户计数端点发出额外的请求。 此请求与旧请求类似,包含唯一 ID,但包含新的无唯一 ID 实现将使用的其他参数。
  • 几个版本后,旧的用户计数请求将被删除。
  • 即使在以后,唯一 ID 也会从新请求中完全删除。 我们将继续在本地生成它,以帮助依靠安装了多个 Vivaldi 的计算机,但它只会在本地使用。

用于生成新请求的代码完全用 C++ 编写,并将与我们的 源代码版本一起发布,允许您检查代码是否符合我们声称的功能。


实现用户计数

我们决定改变 Vivaldi 用户计数的方式,因为有些人认为使用唯一 ID 是一种跟踪形式,我们希望避免这种情况。 当我们找到一种更好的方法来以不需要唯一 ID 的方式计算用户数时,我们决定实施它。

实现的许多阶段都需要确保新代码按预期工作,并且我们可以信任新代码报告的数字。


为什么我们计算 Vivaldi 用户?

我们需要知道用户的数量,因为拥有更多用户使我们能够开发 Vivaldi。 这主要归结为建立 合作伙伴关系以赚取收入 和技术合作伙伴关系,例如与 Razer Chroma 的合作伙伴关系。 数字越准确,我们就能获得更好的交易和支持。

我们计算:

  • 每日用户;
  • 每周用户;
  • 每月用户。

我们还获得以下信息:

  • 当新用户首次运行 Vivaldi 时;
  • 用户使用浏览器的时间;
  • 查看回访用户的非活动天数;
  • CPU架构;
  • 屏幕分辨率;
  • 用户代理。

最后三个与用户计数无关,但这些信息让我们知道我们正在为什么样的机器设计 Vivaldi。


计算多个安装

例如,通过 独立安装,可以在同一系统上拥有多个 Vivaldi 实例,这使得计数更加困难。

当有人使用单独的配置文件在他们的计算机上多次安装 Vivaldi 时,我们希望将他们计为一个用户。

另一方面,当几个人在同一台计算机、同一操作系统帐户上使用他们自己的独立 Vivaldi 安装(使用他们自己的便携式驱动器)时,我们希望将他们计为单独的用户。

为了能够区分这些情况,我们将唯一 ID 的一个副本保留为 LocalState 文件的一部分,并在操作系统用户配置文件中保留一个副本。 如果缺少其中一个副本,则使用另一个可用副本重新设置该副本。 如果两个副本都存在但不匹配,我们可以假设我们正在运行已移动到另一个系统的独立安装(第二种情况)。 在所有其他情况下,我们假设第一种情况。

为此,我们将在停止发送唯一 ID 后继续生成和存储它们。 它们仅用于了解 Vivaldi 是否必须与系统上的其他安装配合,以确保只计算一次。