跳过内容

更新类型

Capgo 支持多种远程更新(OTA)。本页面列出了并解释了所有它们,以便您可以选择适合您的应用的合适 combination。

控制 更新被应用后

类型描述使用场景
autoUpdate: atBackground在后台下载,应用时用户后台或杀死应用大多数应用; 最小干扰
autoUpdate: atInstall仅在首次安装或应用商店更新时立即应用新用户获取最新; 旧用户使用默认流程
__CAPGO_KEEP_0__: onLaunch安装时立即应用,存储更新或应用程序杀死后新鲜度和会话稳定性的平衡
__CAPGO_KEEP_0__: always下载更新时立即应用(包括恢复时)关键修复,具有简单状态的应用
__CAPGO_KEEP_0__: onlyDownload自动下载并触发 updateAvailable但永远不应用或设置下一个捆绑包显示自己的更新提示或控制恰当时刻调用应用程序的应用 set()

capacitor.config.ts:

plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // default; true is still accepted
// or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload'
}
}

必须满足的条件 在更新安装之前 使用 setMultiDelay 组合它们(所有条件都必须满足)。

条件描述示例
日期等待特定日期/时间后与服务器端发布协调
后台等待应用程序后台最短时间 (ms) 后避免在快速应用程序切换期间应用
原生版本要求最低原生二进制版本在不兼容的原生code上阻止更新
杀死等待下一个应用程序杀死事件Apply only on full restart
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({
delayConditions: [
{ kind: 'date', value: '2023-06-01T00:00:00.000Z' },
{ kind: 'background', value: '60000' },
],
});

版本阻塞(渠道政策)

版本阻塞(渠道政策)

控制哪些 semver更新 一个渠道将自动交付。通过 --disable-auto-update 在渠道上设置。

策略允许使用场景
没有任何目标包版本默认; 全自动更新
主版本高于主版本 version_build例如 1.2.3 -> 2.0.0例如同主版本 1.2.3 -> 1.9.01.2.3 -> 1.2.4防止旧本地code接收到破坏性变化
不同于主版本或次版本 version_build例如 1.2.3 -> 1.3.0主版本和次版本相同,例如 1.2.3 -> 1.2.4在本地次版本线中保留更新
修订任何主版本、次版本或修订号变化,例如 1.0.0 -> 1.0.1仅后缀发生变化,而 MAJOR.MINOR.PATCH 保持相同,例如 1.0.0-beta.1 -> 1.0.0-beta.21.0.0+build.1 -> 1.0.0+build.2最严格模式:不允许核心版本更新
元数据缺失 min_update_version, 或 version_build 以下目标包裹,其 min_update_version 小于或等于 version_build自定义兼容性规则每包

这些检查将目标包裹与作为native baseline发送的 version_build,而不是当前安装下载的包裹作为 version_name.

终端窗口
npx @capgo/cli channel set production --disable-auto-update major

如何 捆绑包传输 传输到设备。

类型描述何时使用
全包整个 JS 包全部下载首次安装、较大变更或 delta unavailable 时
delta (清单)仅下载更改的文件大多数更新; 更快、带宽友好
终端窗口
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta

标题为“快速参考”的部分

类别
类型应用时机
__CAPGO_KEEP_0__off, atBackground, atInstall, onLaunch, always, onlyDownload
延迟条件date, background, nativeVersion, kill
版本阻塞none, major, minor, patch, metadata
交付全包, Delta (清单)

继续从更新类型

继续从更新类型

如果您正在使用 更新类型 来规划实时更新的交付,连接它与 Capgo 实时更新 为Capgo 实时更新中的产品工作流 概览 概览中的实现细节 功能 Features的实现细节 更新行为 更新行为的实现细节,以及 开始使用 开始使用的实现细节。