【问题标题】:Chrome extension, after upgrade, might users still use old version?Chrome扩展,升级后,用户还能使用旧版本吗?
【发布时间】:2013-11-15 02:32:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: google-chrome-extension


    【解决方案1】:

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

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

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


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


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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你的亲身经历真的是一整天吗?另一个答案说谷歌每隔几个小时就会更新一次。
      【解决方案3】:

      the docsother sources 称,更新将在发布后的几个小时内发生。

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

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

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

      为了强制更新扩展名:

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

      基本上,你必须进入扩展页面,勾选“开发者模式”,然后点击出现的“更新扩展”按钮。


      底线
      我会:

      1. 实施一种机制以在请求中包含版本
      2. 基于服务器维护两段代码(仅几天)
      3. 根据版本处理每个请求

      【讨论】:

      • 扩展按钮只会更新我自己的任何扩展的个人副本,不是吗?我现在发布了一个新的扩展版本,可以处理旧的和新的服务器端代码。我想我会等一天,更改我的服务器端代码,然后交叉手指。但是,是的,我将来应该在发送到服务器的信息中包含扩展版本。不过这次帮不了我了。
      • 该按钮更新点击它的用户安装的扩展。我正在描述一种让您的用户手动更新其扩展的方法。您无法在用户浏览器上触发更新 :)
      猜你喜欢
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 2011-06-03
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多