我非常高兴地宣布 Self-hosted Live Updates 正式发布,这标志着 Capgo Live Updates 的最新演进。
虽然许多企业目前正在使用 SDK 的 Live Updates 来获取应用最新的 JavaScript、HTML 和 CSS 更新,但部分企业可能会因公司政策、行业法规或地理限制而遇到阻碍。通过 Self-hosted Live Updates,您现在可以通过自己的基础设施来分发 Web build 产物。
这意味着您可以避开 Apple Store 审核带来的延迟,更快速地修复 bug 并修改内容,并确保用户始终运行在应用的最新版本上。此外,我收到过许多大型企业的反馈,他们希望利用 Live Updates,但受限于严格的合规标准。得益于 Self-hosted Live Updates,这个问题已成为过去。
自托管 Live Updates 是如何工作的?
部署 Capgo 托管的 Live Updates 非常简单,只需使用 Capgo SDK。针对自托管 Live Updates,我增强了 Capgo CLI,为其添加了在自有基础设施上进行配置所需的功能。
为了确保将最新的 Web build 产物安全、有序地交付给终端用户,Capgo 现在允许 Capacitor Live Updates 插件使用公钥/私钥对。在使用自托管 Live Updates 时,系统会执行额外的握手流程,以确保通过插件从企业基础设施下载的产物未被修改。

以下概述了建立密钥对以及后续向终端用户交付更新体验的流程。
一次性密钥对设置
若要生成公钥/私钥对,企业可以使用以下 Capgo Cloud CLI 命令:
npx @capgo/cli@latest key create
该命令将设置 CapacitorUpdater.privateKey 配置文件中的属性。
并生成 2 个密钥文件, capgo_key.pub 和 capgo_key 位于您的项目根目录中。
此密钥对用于对更新进行签名,并在 App 端验证更新。
自托管 Live Updates 工作流
要开始实现自托管 Live Updates,企业必须先对其 Bug 修复、内容更新或其他基于 Web 的 code 变更执行 Web 构建。然后使用一次性设置过程中获取的私钥对构建产物签名,最后将 bundle 上传到首选的存储位置。
首先构建您的 code:
npm run build
然后将构建产物打包为 Zip:
npx @capgo/cli@latest bundle zip
然后加密 Zip:
npx @capgo/cli@latest bundle encrypt abc123.zip”
该命令会打印出 ivSessionKey,你需要保存下来供下一步使用。
现在将加密后的 Zip 上传到企业存储,并获取该 Zip 文件的 URL。
随后必须通知 Capgo 有新的 Live Update 已就绪可供使用。这通过另一个 CLI 命令完成:
npx @capgo/cli@latest bundle upload --external=https://abc.com/app/updates/abc123.zip --iv-session-key=YourKey
命令运行后,Capgo 就会知道有新的更新可以分发给 App 用户。现在,当 App 启动时,Live Updates 插件会向 Capgo 检查是否有需要下载的变更。
Capgo 会向插件返回“是的,有可用更新”,随后 Live Updates 插件会通过 `register` CLI 命令提供的 URL 位置下载新的 live update:
https://abc.com/app/updates/abc123.zip
组织的 API 从该位置返回 Live Update bundle,App 随后解密 Zip 并应用 live update。大功告成!
立即开始
我非常激动能让 Live Updates 服务覆盖到比以往更多的企业。无论是企业组织还是 Ionic 应用用户,都能迅速体会到 Capgo 提供安全 OTA 应用更新分发的优势。
欲了解更多关于 Capgo 自托管 Live Updates 的信息,您可以 查看文档。准备好直接向用户推送即时应用更新了吗? 立即在此注册!
继续了解自托管 Live Updates
如果你正在使用 自托管 Live Updates 规划迁移与企业运营,并将其与 Capgo 企业版 了解 Capgo 企业版的产品工作流, Ionic Enterprise 插件替代方案 了解 Ionic Enterprise 插件替代方案中的产品工作流, Capgo 替代方案 适用于 Capgo Alternatives 的产品工作流, Capgo 咨询 适用于 Capgo Consulting 的产品工作流,以及 Capgo 高级支持 适用于 Capgo Premium Support 的产品工作流。