发布在 Chrome Web Store 上的 Chrome 扩展程序能否自动更新?

12

这个问题的文档非常不清楚。如果您自己托管扩展程序,则可以通过提高版本号来实现自动更新扩展程序。但是我不知道是否可以在仍然发布到Chrome网络商店的情况下进行自己的托管。

我无法相信Google会让您通过Web界面手动更新扩展程序。

2个回答

9
当您发布到Chrome Web Store(CWS)时,CWS会托管您的扩展程序,并且您将失去对manifest.jsonupdate_url属性的控制(它被CWS特定的链接覆盖)。当您决定提供新版本的CWS托管扩展程序时,您只需将其(带有更高版本号)上传到CWS(通过developer dashboard)。之后,您只需等待Chrome自动更新功能完成所有工作。
每个Chrome在后台执行例行检查,无需用户直接许可,在CWS(或其他地方,如果扩展程序是自托管的)上确保所有扩展程序都是最新的。如果任何扩展程序(或应用程序)的新版本可用,则Chrome将执行自动更新(如果扩展程序的权限未增加)。

3
好的,这正是我担心的。这太荒谬了,我习惯于只需使用“git push”一天中部署新代码,现在我将不得不手动完成所有这些操作。也许我可以尝试一个phantomJS脚本。 - stanm87
Chrome扩展的持续部署?听起来很酷!我也喜欢phantomJS的想法。祝好运! - Konrad Dzwinel
很不幸,上传脚本非常复杂(更不用说因为缩小而难以逆向工程化),我无法让它与phantomJS一起正常工作。 - stanm87
不必试图反向工程缩小的脚本,您可以使用BurpSuite之类的工具来跟踪HTTP消息。然后,您可以使用PhantomJS轻松地复制这些消息。 - Chris Roy

4

现在有一种方式可以通过Webstore API以编程方式更新托管在CWS中的扩展(自2014年3月以来)。

在注册API并通过OAuth 2.0进行授权后,您可以推送现有项目的更新

curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X PUT \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items/$APP_ID

文档不清楚这是否会创建草稿,无论如何,也可以通过API进行发布

请注意,它仍将受到自动审核检查的限制,因此实际更新只有在完成后才可用(通常在一小时内)。


希望有人能够尝试并确认更新方法是否会自动发布更新,还是被视为草稿。 - Xan
使用服务API时如何获取令牌? - Rias
@Rias 请参考此指南。您需要在开发者控制台中创建一个项目并启用API,以获取API密钥。 - Xan
2
@Xan - 可以使用API自动发布更新。我使用API自动发布扩展,将其推送到扩展存储库的主分支。请参见https://github.com/robertknight/passcards中的utils/目录中的脚本。 - Robert Knight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接