跳过内容

更新类型

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

控制 当更新在下载后应用时。该插件在应用切换到前台时检查更新,并在应用保持打开时以重复计时器的方式进行检查。 控制该间隔(默认10分钟)。 periodCheckDelay 类型

描述用例autoUpdate:
在每次前台检查时检查和下载,应用时背景切换时应用 atBackground大多数应用;最小干扰autoUpdate:
autoUpdate: Check and download on each foreground check, apply when the app moves to background atInstall在新安装或原生应用商店更新后立即应用; 否则使用 atBackground新用户使用最新版本; 已经存在的用户使用后台应用
autoUpdate: onLaunch在冷启动时立即应用 (杀死 → 前台); 然后切换到 atBackground新鲜度和会话稳定性之间的平衡
autoUpdate: always在每次前台转换时检查并立即应用更新关键修复、简单状态的应用
autoUpdate: onlyDownload检查并下载自动, 发出 updateAvailable, 并且永远不自动应用显示自己的更新提示或控制更新时机的应用 set()

配置项 capacitor.config.ts:

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

延迟条件

延迟条件

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

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

版本阻塞(渠道政策)

控制哪些

semver更新 __CAPGO_KEEP_0__ 一个通道将自动交付。通过 --disable-auto-update 在通道上

策略允许用例
noneNothing任何目标包版本默认; 全自动更新
major高于主版本 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

如何传输 bundle 到设备。

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

快速参考部分

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

会为想絢法为空当前安被给车号为空当前安被给车号 为空当前安被给车号为空当前安被给车号为空当前安被给车号 等东为想絢法为空当前安被给车号为空当前安被给车号 Capgo Live Updates for the product workflow in Capgo Live Updates, 等东为想絢法为空当前安被给车号为空当前安被给车号 概述中的实现细节 功能 功能中的实现细节 更新行为 更新行为中的实现细节 开始 开始中的实现细节