谁能解释一下 Chrome 扩展程序升级的工作原理吗?
假设我发布了 0.0.1 版本。一段时间后,我进行了一些更新并发布了 0.0.2。所有拥有 0.0.1 的用户都会自动升级到 0.0.2 吗?如果没有,发送/更新 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 无法收到有关扩展程序更新的推送通知;相反,它每隔几个小时轮询一次 Web Store 的版本信息。
虽然 Google 可以使其基于推送,但我认为这仍然是一个自然的负载平衡器(不是每个人都试图立即更新),并且是一个安全网,以防您发布某些内容严重损坏。
在扩展方面,chrome.runtime
API中有两件事这可能会影响该过程。
您可以使用 chrome.runtime.requestUpdateCheck() 强制检查新版本。请注意,这是有速率限制的 - 您不能过于频繁地检查。
原则上,您可以使用其他一些方法向您的扩展程序发送通知(GCM、到您的服务器的 WebSocket、轮询您的服务器等)来发现更新并触发此检查。
您可以在使用
chrome.runtime.onUpdateAvailable
事件监听器检测到更新后延迟更新。它的延迟时间不得超过下一次浏览器重新启动的时间。
如果您的扩展程序有很多用户(从 10k 用户开始),仪表板的编辑项界面中还有一个可用的附加选项。
Is it possible to perform a partial roll out in the Chrome web store?
CWS 提供了一个选项,仅向开发人员指定的用户百分比提供此版本。这样您就可以限制错误更新造成的损害。
关于google-chrome - 提高 Chrome 扩展程序版本是否足以强制升级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31791419/