我正在构建一个Chrome扩展,我们最近发布了它的第一个版本。我们已经有一组用户安装了它。
我们现在正试图推出一个更新(带有bug修复和新功能),但是从Chrome文档中得到了混合消息,因为它与更新的用户体验有关。他们提到,默认情况下,更新后的版本将被推送到Chrome,但现有用户需要重新启动浏览器,才能将更新推送或手动执行至chrome。
有没有办法自动将更新推送给已经安装了Chrome扩展的用户(而不需要用户采取任何行动)?
我们预计新版本将自动更新给现有用户。但是,当新版本发布时,现有用户在2-3天后仍将使用以前的版本(而不重新启动浏览器)。
我们期望用户在不对浏览器或扩展仪表板进行任何操作的情况下自动访问新版本。
发布于 2022-12-01 09:16:45
通常,浏览器会自动检查是否每隔几个小时更新一次。如果我每隔4小时记正确的话。
因此,如果浏览器已经打开几天,浏览器不可能接收更新。
但是,如果扩展是MV2,如果有一个持久的后台脚本,并且如果浏览器中当前至少打开了一个扩展页,那么更新可能会被堆积,直到该页面\选项卡关闭。
一旦后者关闭,扩展应该在下一个浏览器检查中接收并安装更新。
如果您的扩展属于这种情况,那么您可以为runtime.onUpdateAvailable事件定义一个处理程序,在该事件中强制重新加载扩展。
“是否有一种方法可以自动将更新推送给已经安装了Chrome扩展的用户(而不需要用户采取任何行动)?”
如果“某个用户”指的是“某些用户,而不是全部”,那么您可以想到一个系统,它从后端发送推送消息,并管理来自服务工作人员的接收,该服务工作者将只为所需的用户运行runtime.requestUpdateCheck方法。
但是,这将意味着实现某种用户注册\身份验证,以便在强制更新请求时识别它。
请注意,您将不能有选择地允许一些用户升级,同时排除所有其他用户。基本上,使用这种技术,您将只为您的一个或部分用户加速更新,因此此方法(不太容易实现)可能过于冗余。
https://stackoverflow.com/questions/74635848
复制相似问题