google-chrome - 提高 Chrome 扩展程序版本是否足以强制升级?

标签 google-chrome google-chrome-extension updates chrome-web-store

谁能解释一下 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中有两件事这可能会影响该过程。

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

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

  2. 您可以在使用 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/

相关文章:

html - Firefox 不考虑内部内联元素的外部 block 最大宽度

java - 以编程方式更改首选项值后更新它们

android - Android 上的 mp4 视频

html - CSS 背景图片仅适用于 Chrome,不适用于其他浏览器

css - -webkit-font-smoothing 属性在 Chrome 中无效

javascript - 为什么 Chrome 扩展 JavaScript 没有改变?

javascript - 从内容脚本调用注入(inject)的按钮到background.js

javascript - 扩展 list 必须请求访问此主机的权限

c# - 使用 Octokit 更新 GitHub 存储库中的文件

visual-studio - 在 Windows 上卸载 Xamarin