我需要编辑然后发布我的 Chrome 扩展程序。我知道发布扩展有时需要一个多小时,但是一旦发布,我可以假设所有用户都在使用这个新的扩展版本吗?或者他们可能还在使用旧的一段时间?如果是这样,持续多长时间?
我通过 Chrome 仪表板发布。对不起,如果这是错误的地方问。我试过搜索 Chrome 的文档。
问题:我需要更新我的服务器端代码,但如果用户仍在使用旧的扩展版本,那么它将非常严重地失败。
我需要编辑然后发布我的 Chrome 扩展程序。我知道发布扩展有时需要一个多小时,但是一旦发布,我可以假设所有用户都在使用这个新的扩展版本吗?或者他们可能还在使用旧的一段时间?如果是这样,持续多长时间?
我通过 Chrome 仪表板发布。对不起,如果这是错误的地方问。我试过搜索 Chrome 的文档。
问题:我需要更新我的服务器端代码,但如果用户仍在使用旧的扩展版本,那么它将非常严重地失败。
您不应该对扩展更新频率做出任何假设。更新频率默认为 5 小时。用户可以通过--extensions-update-frequency
标志更改此值。但实际上,大多数用户会坚持使用默认设置。并且不要忘记,期望所有用户的计算机始终在线是不合理的。
您应该将旧版本和新版本的代码保留在服务器端。如果您以前没有这样做过,请在您的请求中包含版本标识符。这个版本标识符不需要 1:1 映射到你的 Chrome 扩展版本;只需使用一个值并为每个重要的 API 更新不断增加它。
如果您没有在之前的版本中包含版本标识符,那么如果请求中缺少版本标识符,则假设用户正在使用旧版本,并且始终在来自新 Chrome 扩展程序的请求中包含版本标识符。
如果您minimum_chrome_version
在清单文件中设置了 a,那么如果用户使用旧版 Chrome,他们也将停留在旧版扩展程序上。
尽管与您的具体情况无关,但扩展程序作者可以选择通过 Chrome 网上商店的仪表板将其扩展程序分发给特定百分比的用户。使用此功能时,您显然有仍在使用旧版本的用户。
您必须在代码中处理用户拥有旧版本的可能性。它没有公布这可能需要多长时间,但根据经验,它至少可以是一整天。
每隔几个小时,浏览器就会检查是否有任何已安装的扩展程序或应用程序...
默认更新检查频率是几个小时,
我建议您实施一种机制来检查发出请求的扩展程序的版本,如果它不是最新的,要么回退到以不同方式处理请求(基于旧的服务器端代码),要么通知用户他们必须更新(虽然我不建议这样做,因为它可能会吓到和惹恼用户)。
为了强制更新扩展名:
但是您可以使用扩展页面的立即更新扩展按钮强制更新。
基本上,您必须进入扩展页面,选中“开发者模式”并按下出现的“更新扩展”按钮。
底线
我会: