1

所以我在一个Chrome扩展中工作,它不会在google webstore上托管,因此我需要添加自动更新功能,但是我需要它多一点动态,我会试图说明我正在试图通过一个小场景来完成,所以它不会毫无意义。自定义Chrome扩展的自动更新功能

方案

我需要有一个扩展,还挺有每个版本不同的版本,即每个版本有免费版和付费(功能丰富)编辑,每当新版本发布扩展名将根据其版本进行更新。

换句话说,服务器应该能够检测到用户的版本,并根据它提供“动态”的crx文件。

我想什么/想

1.I的尝试设置与扩展版的Cookie,所以当自动更新时,服务器可以检查它并生成xml文件,不幸的是,我发现该cookie不会发送到由chrome发送的自动更新头中。

2.当chrome启动时,我可以使扩展与服务器通话,所以它会发送它的版本,所以服务器会将它与ip一起存储,当发生自动更新时,服务器将检查请求ip并将其与该版本匹配以提供xml,我认为这可以工作,但它有点蹩脚的方法。

3.我可以使用本地应用程序来修改清单文件,根据版本指向不同的xml文件,我想这也可以工作,但我不赞成使用本机应用程序。

4.我试图找到一种方法来修改get-request参数(即添加像版本这样的自定义参数),但似乎没有办法这样做。

5.我可以将不同的版本分开为不同的扩展名(例如,免费版将与付费版不同),但是我有兴趣将其集成到一个版本中,因此用户可以升级/降级无需安装/删除他们已有的扩展。

我想就是这样,我希望有人会有一个更好的想法,我可以如何完成我想做的事情。

P.S.我知道标题有点模糊,但我找不到更好的标题,所以如果你想出更好的标题,请让我知道。

回答

0

为什么不制作免费版本1.*和付费版本2.*?然后通过一个简单的PHP页面动态生成更新页面,获取应用程序ID和版本(请参阅autoupdate docs)。

"update":"http://www.mysite.com/update_app.php放在您的清单中。在您的PHP脚本中,阅读$_GET['version'],并提供XML更新文档以匹配主版本号(1.*免费版本,2.*付费版本)。基本上,在服务器上保存两个XML更新文件(和两个CRX文件),并让脚本决定要使用哪一个。

它当然不一定是PHP;任何服务器端语言都可以。

+0

感谢您的回答, 但是如果用户想要升级/降级他的订阅呢?! 任何想法如何实现?! 我试图让用户更容易,当他决定通过自动化升级/降级部分而不是通过处理两个扩展来重新安装它们来改变他的订阅时,我认为你的方法将启用我成功合并了这两个版本,但用户将无法更改他的订阅,我是对的还是错过了你的方法? –