Chrome网络商店-扩展下载统计



查看有多少人下载了您的扩展的一种方法是查看Chrome网站商店中的统计数据。另一种方法是在background.js中添加chrome.runtime.onInstalled.addListener,并在每次有人安装扩展时在服务器上发送信息。

我的问题是,通过这两种方式收集的信息并不相似。

Chrome网上商店中的下载次数少于通过第二种方式收集的安装次数(对于唯一的ip地址)。为什么?有人能解释一下吗?

chrome store还考虑了卸载,而您的方法只计算安装。

您还可以通过将url设置为在卸载时打开并在服务器上进行计数来检测卸载。看见https://developer.chrome.com/extensions/runtime#method-设置卸载URL

这样一来,数字将更加匹配。仍然不完美,因为商店有时需要数周时间才能添加一天的统计数据。

唯一IP地址的数量对用户来说不是一个可靠的指标,因为用户可能使用动态地址(而不是不变的静态IP地址),并且多个用户可能共享一个IP地址(在NAT或代理之后)。chrome.runtime.onInstalled不仅在新安装扩展时触发,而且在更新浏览器/扩展时也会触发。

因此,你计算唯一用户的方法是有缺陷的(鉴于用户数量很少,你的方法很可能高估了用户数量)。


Chrome Web Store仪表板(仅适用于开发人员)提供每日安装的数量(可能通过计算按需CRX下载的数量来衡量)。


Chrome Web Store公开显示每周用户数(通过计算每周更新检查的次数来衡量)。这个数字是而不是每周活跃用户的数量,可能高估了实际用户的数量。例如,我有一个曾经拥有1.7k用户的扩展。由于扩展已过时,我发布了一个更新,该更新向服务器发送ping并删除扩展本身(使用chrome.management.uninstallSelf)。每周,我最多会收到几次ping,但CWS声称该扩展每周约有400名用户(这些用户可能禁用了我的扩展;因此该扩展无法自行删除,但Chrome仍会检查更新)。


准确计算用户数量

如果您想了解安装数量,请查看CWS仪表板。如果你想继续使用onInstalled方法,至少要检查一下details.reason === 'install'

如果你想拥有最可靠的"用户"指标,生成一个随机标识符并将其存储在chrome.storage.sync中。在对服务器的请求中包括此ID(有关示例代码,请参阅从chrome扩展获取唯一的ClientID?)。

最近,我在我的一个扩展中引入了服务器ping,以衡量某一天/某一周每个Chrome版本的用户数量。在这项工作中,我将用户的隐私置于统计数据的准确性之上(通过将随机ID存储在localStorage(不同步)中,并在每次主要浏览器更新时刷新该ID)
如果您想了解有关其背后代码的更多信息,请参阅https://github.com/Rob--W/pdfjs-telemetry.

最新更新