提高 Chrome 扩展版本是否足以强制升级?

Is it enough to bump Chrome Extensions version to force upgrade?

谁能解释一下 Chrome 扩展程序升级的工作原理?

假设我发布了 0.0.1 版。一段时间后,我进行了一些更新并发布了 0.0.2。所有拥有 0.0.1 的用户都会自动升级到 0.0.2 吗?如果没有,sending/updating Chrome 扩展的过程是什么?

谢谢!

After a while I've some updates and I publish 0.0.2. Will all users having 0.0.1 be auto-upgraded to 0.0.2?

是的。默认情况下,如果您发布(不只是提交草稿,实际发布并等待自动审核过程完成)一个新版本,那么所有用户都会得到它。

..最终.

Chrome 没有收到关于扩展更新的推送通知;它改为每隔几个小时轮询一次网上应用店以获取版本信息。

虽然 Google 有可能使这个基于推送,但我认为这仍然是一个自然的负载平衡器(不是每个人都试图立即更新)并且有点安全net 以防你发布了严重损坏的东西。


在扩展方面,chrome.runtime API 中有 2 件事会影响进程。

  1. 您可以使用 chrome.runtime.requestUpdateCheck() 强制检查新版本。请注意,这是有速率限制的 - 您不能经常检查。

    原则上,您可以使用一些其他方法向您的扩展程序发送通知(GCM、WebSockets 到您的服务器、轮询您的服务器等)来发现更新并触发此检查。

  2. 您可以在使用侦听器检测到 chrome.runtime.onUpdateAvailable 事件后延迟更新。它不能延迟到下一次浏览器重新启动。


如果您的扩展程序有很多用户(从 10k 用户开始),则仪表板的编辑项界面中还有一个附加选项可用。

CWS 提供了一个选项,仅向开发人员指定百分比的用户提供此版本。这样您就可以限制错误更新造成的损害。