1

所以我正在使用一个不会托管在谷歌网上商店的 chrome 扩展程序,因此我需要向它添加自动更新功能,但是我需要它更加动态,我将尝试说明什么我正在尝试通过一个小场景来完成,所以它看起来不会毫无意义。

设想

我需要一个扩展,每个版本都有不同的版本,即每个版本都有一个免费版本和一个付费(功能丰富)版本,每当发布新版本时,扩展都会根据它的版本进行更新。

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

我尝试/想到的

1.我尝试设置一个带有扩展版本的cookie,所以当自动更新发生时服务器可以检查它并生成xml文件,不幸的是我发现cookie没有在chrome发送的自动更新标头中发送.

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

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

4.我试图想办法修改get-request参数(即添加自定义参数,如版本),但似乎没有办法这样做。

5.我可以将不同的版本分开为不同的扩展(即免费版将与付费版在不同的包中),但是我有兴趣将它们合二为一,因此用户可以升级/降级他们的订阅而无需安装/删除他们已经拥有的扩展名。

我想就是这样,我希望有人对我如何完成我想做的事情有更好的想法。

PS我知道标题有点模糊,但我找不到更好的,所以如果你想出更好的标题,请告诉我。

4

1 回答 1

0

为什么不制作免费版1.*和付费版2.*呢?然后让您的更新页面由一个简单的 PHP 页面动态生成,该页面获取应用程序 ID 和版本(请参阅自动更新文档)。

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

当然,它不必是 PHP。任何服务器端语言都可以。

于 2012-05-10T19:42:00.507 回答