我们如何统计用户数
This post is also available in: English 日本語 Русский Français Español Deutsch Nederlands Српски Português Български
更新:在遇到使用其他方法计算的用户数出现意外偏差后,删除唯一 ID 的项目停滞不前。 我们花了大量时间研究和了解其原因。 我们得出的结论是,我们使用唯一 ID 获得的数字更准确,因此我们目前坚持使用。 在我们开发 Vivaldi 时,不高估和不低估一样重要。
从 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 是否必须与系统上的其他安装配合,以确保只计算一次。