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