1

我需要编辑然后发布我的 Chrome 扩展程序。我知道发布扩展有时需要一个多小时,但是一旦发布,我可以假设所有用户都在使用这个新的扩展版本吗?或者他们可能还在使用旧的一段时间?如果是这样,持续多长时间?

我通过 Chrome 仪表板发布。对不起,如果这是错误的地方问。我试过搜索 Chrome 的文档。

问题:我需要更新我的服务器端代码,但如果用户仍在使用旧的扩展版本,那么它将非常严重地失败。

4

3 回答 3

2

您不应该对扩展更新频率做出任何假设。更新频率默认为 5 小时。用户可以通过--extensions-update-frequency标志更改此值。但实际上,大多数用户会坚持使用默认设置。并且不要忘记,期望所有用户的计算机始终在线是不合理的。

您应该将旧版本和新版本的代码保留在服务器端。如果您以前没有这样做过,请在您的请求中包含版本标识符。这个版本标识符不需要 1:1 映射到你的 Chrome 扩展版本;只需使用一个值并为每个重要的 API 更新不断增加它。

如果您没有在之前的版本中包含版本标识符,那么如果请求中缺少版本标识符,则假设用户正在使用旧版本,并且始终在来自新 Chrome 扩展程序的请求中包含版本标识符。


如果您minimum_chrome_version在清单文件中设置了 a,那么如果用户使用旧版 Chrome,他们也将停留在旧版扩展程序上。


尽管与您的具体情况无关,但扩展程序作者可以选择通过 Chrome 网上商店的仪表板将其扩展程序分发给特定百分比的用户。使用此功能时,您显然有仍在使用旧版本的用户。

于 2013-11-14T18:32:28.050 回答
0

您必须在代码中处理用户拥有旧版本的可能性。它没有公布这可能需要多长时间,但根据经验,它至少可以是一整天。

于 2013-11-14T14:45:12.023 回答
0

根据文档其他来源,更新发生在发布后的几个小时内。

每隔几个小时,浏览器就会检查是否有任何已安装的扩展程序或应用程序...

默认更新检查频率是几个小时,

我建议您实施一种机制来检查发出请求的扩展程序的版本,如果它不是最新的,要么回退到以不同方式处理请求(基于旧的服务器端代码),要么通知用户他们必须更新(虽然我不建议这样做,因为它可能会吓到和惹恼用户)。

为了强制更新扩展名:

但是您可以使用扩展页面的立即更新扩展按钮强制更新。

基本上,您必须进入扩展页面,选中“开发者模式”并按下出现的“更新扩展”按钮。


底线
我会:

  1. 实现一种机制以在请求中包含版本
  2. 维护两个基于服务器的代码(仅几天)
  3. 根据版本服务每个请求
于 2013-11-14T15:05:30.570 回答