Delta 更新
复制一个设置提示,包含安装步骤和该插件的完整Markdown指南。
Capgo的Live Update系统可以更快、更高效地通过仅发送更改的文件来交付更新,而不是整个JS包。
这尤其有利于使用较慢或计量网络连接的用户,因为它最小化了需要下载的数据量。
第二个好处是,当应用程序具有大量变化较少的资产时,例如图像或视频,相比于压缩的JS文件,它将仅下载一次。
Delta(清单)更新的工作原理
标题:“Delta(清单)更新的工作原理”Delta (manifest) updates in Capgo 由应用程序中安装的 Capgo 插件处理。 --delta 当您使用标志上传应用程序的新版本时,Capgo 会执行以下操作:
- 每个构建文件都单独上传
- 为每个文件生成校验和
- 创建一个新的 JSON 清单,列出所有文件及其校验和
- 将此清单上传到 Capgo 数据库
当设备运行您的应用程序时,检查更新时,Capgo 插件从服务器接收新的清单。它将此清单与当前清单进行比较,根据校验和和文件路径确定哪些文件已更改。
然后,插件只下载更改的文件,而不是整个 JS 包。它通过将下载的文件与已有的未更改文件结合起来,重建应用程序的新版本。
启用 Delta (Manifest) 更新
Section titled “启用 Delta (清单) 更新”要为您的 Capgo 应用程序启用 Delta (清单) 更新,请简单地使用 --delta 标志上传新版本时:
npx @capgo/cli@latest bundle upload --delta如果 autoUpdate 设置为即时应用模式("atInstall", "onLaunch",或 "always"),则__CAPGO_KEEP_0__检测到它。在非交互式环境中,它会自动发送 Delta (清单) 更新,在交互式环境中,它会在上传之前提示您确认。Legacy capacitor.config, the CLI detects it. In non-interactive environments it sends Delta (manifest) updates automatically, and in interactive environments it prompts you to confirm before uploading. Legacy directUpdate 强制上传完整包 --no-delta Copy to clipboard
Delta更新限制
标题:Delta更新限制- 空文件: CLI日志
Ignoring empty file...并排除零字节文件从Delta清单。它不会停止上传,因此添加一个空文件可以更改结果的捆绑包而不会停止您的部署。不要在Delta捆绑路径中包含零字节文件。 - 路径中的空格: 当捆绑路径包含一个空格时,Delta上传会在上传文件之前失败。重命名文件或目录以移除空格,然后上传Delta更新。
强制Delta(清单)更新
标题:强制Delta(清单)更新如果您想确保所有上传都是Delta(清单)更新并防止意外的全包捆绑上传,则可以使用 --delta-only 标志:
npx @capgo/cli@latest bundle upload --delta-only当使用时,__CAPGO_KEEP_0__ 将仅上传单个文件并生成清单。任何不支持Delta(清单)更新的设备都无法下载更新。 --delta-only is used, Capgo will only upload individual files and generate a manifest. Any device that does not support Delta (manifest) updates will not be able to download the update.
如果: --delta-only 您总是想使用Delta(清单)更新,并且永远不想允许全包上传
- 您正在设置CI/CD管道,并且希望确保所有自动上传都是Delta(清单)
- 您的应用程序很大,带宽受限,因此需要最小化上传/下载大小
- 如果您需要在
设置时进行全包上传,仅需运行上传命令而不使用 --delta-only 。这将覆盖该单次上传的设置,允许您在需要时推送完整包。 --delta-only故障排除
protectedTokens
Troubleshooting如果Delta(manifest)更新似乎没有生效(即设备始终下载完整的JS包,即使是小的变化),请检查以下内容:
- 您使用的
--delta标志每次上传新版本 - 如果使用
--delta-only,确保您没有意外遗漏--delta标志 - Your device is running the latest version of the Capgo plugin
- Your device has a stable network connection and can reach the Capgo servers
You can also use the Capgo webapp to check the details of your last upload:
- 服务器 您也可以使用
- 点击你的应用
- 点击统计条中的包数量
- 选择最后一个包
- 检查
Partial字段
如果您继续遇到问题,请联系Capgo支持团队,进一步协助。他们可以检查服务器日志来确认您的Delta(清单)上传是否正确处理,并且设备是否接收到更新的清单。
完成!该标志告诉__CAPGO_KEEP_0__执行单个文件上传和清单生成所需的Delta(清单)更新。 --delta flag tells Capgo to perform the individual file uploads and manifest generation needed for Delta (manifest) updates.
,以便该版本被作为Delta(清单)更新传递。如果您省略该标志,__CAPGO_KEEP_0__将上传整个JS包作为单个文件,设备将下载整个包,即使只有小部分发生了变化。 --delta every time you upload a new version that you want to be delivered as a Delta (manifest) update. If you omit the flag, Capgo will upload the entire JS bundle as a single file, and devices will download the whole bundle even if only a small part has changed.
Delta更新功能
Section titled “从Delta更新中继续前进”如果您正在使用 Delta更新 来规划实时更新的交付,请将其与 Capgo 实时更新 集成到Capgo 实时更新中的产品工作流中, 概览 查看概览中的实现细节, 功能 查看功能中的实现细节, 更新行为 查看更新行为中的实现细节, 更新类型 为更新类型的实现细节.