所以我在Chrome扩展程序中工作,不会在google网上商店托管,因此我需要添加自动更新功能,但是我需要它更有动态,我会尝试说明我想通过一个小场景来完成什么,所以它似乎没有意义。
方案
我需要有一个扩展版,每个版本都有不同的版本,即每个版本都有免费版和付费版(功能丰富版),每当新版本发布时,扩展名将根据其版本进行更新
换句话说,服务器应该能够检测用户的版本并根据它提供crx文件“即动态”。
我尝试/想到的是
1.我试图用扩展版设置一个cookie,所以当发生自动更新时,服务器可以检查它并生成xml文件,遗憾的是我发现cookie没有在自动更新头中发送由chrome发送。
2.我可以在Chrome启动时使扩展与服务进行通信,因此它会发送它的版本,因此服务器会将其与ip一起存储,当发生自动更新时,服务器将检查请求ip并将其与版本匹配以提供xml,我认为这可行,但它有点蹩脚的方法。
3.我可以使用本机应用程序根据版本修改清单文件以指向不同的xml文件,我想这也可以,但我不赞成使用本机应用程序。
4.我试图找到一种方法来修改get-request参数(即添加自定义参数,如版本),但似乎没有办法这样做。
5.我可以将不同的版本分开为不同的版本(即免费版本将与付费版本不同),但我有兴趣将其全部集成在一起,因此用户可以升级/降级其订阅无需安装/删除已有的扩展程序。
我想就是这样,我希望有人能更好地了解我如何才能完成我想做的事。
PS 我知道标题有点模糊,但我找不到更好的标题,所以如果你想出更好的标题,请告诉我。
答案 0 :(得分:0)
为什么不制作免费版1.*
和付费版2.*
?然后通过一个简单的PHP页面动态生成更新页面,该页面获取应用程序ID和版本(请参阅autoupdate docs)。
将"update":"http://www.mysite.com/update_app.php
放入您的清单中。在PHP脚本中,阅读$_GET['version']
,并提供XML更新文档以匹配主要版本号(1.*
免费版本,2.*
付费版本)。基本上,在服务器上保留两个XML更新文件(以及两个CRX文件)并让脚本决定使用哪一个。
当然,它不一定是PHP;任何服务器端语言都可以。