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