我发现用户没有收到我的Chrome应用程序的更新,因为他们让应用程序保持打开状态,并让他们的浏览器过时(即汉堡包图标长时间呈红色)。
根据经验,当浏览器本身过时时,似乎没有触发chrome.runtime.onUpdateAvailable
事件。
我至少要显示一个应用内警告用户界面,告诉用户需要重新启动浏览器才能获得更新(并最终阻止使用应用程序直到更新)。 似乎就像chrome.runtime.onBrowserUpdateAvailable
一样,但是该事件被标记为已弃用很久,但替换对这个用例并不好:chrome.runtime.onRestartRequired is仅适用于Chrome操作系统,适用于自助服务终端应用。
相关的错误,http://crbug.com/177029和http://crbug.com/242983并没有真正解释onBrowserUpdateAvailable是否曾在非ChromeOS版本上工作过,如果是这样,为什么有意义地弃用它而不替换那些其他操作系统。
我是否认为这一切都错了?我应该只使用已弃用的事件吗?人们是否知道该事件对于OS中的这种情况是否可靠?
(我还没有对API进行过深入的实验,并且只有文档可以继续,因为浏览器更新很少见,这将是一个非常长的实验来运行,无论如何,API行为可能会在该实验期间的版本中发生变化。)
答案 0 :(得分:0)
如果您需要用户更新到最新的客户端以便与非向后兼容的服务器一起使用,那么您可以完全控制这种情况:检测客户端不匹配并停止运行(带有解释原因的消息),直到用户重新启动Chrome并获取更新后的应用。*
但如果你只是因为用户没有更新的卫生问题而烦恼,那么很难证明这种激烈的做法是正确的。此外,根据定义,您正在与那些由于某种原因而不关心更新任何东西的用户打交道,这就是为什么他们一直忽视了红色汉堡包,知道谁知道多久。如果是这种情况,那么添加另一个嘈杂的通知可能不会治愈他们的行为。在这里提示你个人的宁静祈祷。
*旁注:由于缺少浏览器更新,我很惊讶应用程序更新会停滞不前。您确定自己的应用未更新为指定minimum_chrome_version
吗?这种情况是可以理解的,因为我们不希望将Chrome应用更新为已知与当前浏览器不兼容的版本。