更新类型
复制一个包含安装步骤和本插件的完整 Markdown 指南的设置提示.
Capgo 支持多种远程更新(OTA)。本页面列出并解释所有类型的更新,以便您可以选择适合应用程序的合适 combination.
控制 当更新下载后应用时 该插件在应用切换到前台时检查更新,并在应用保持打开时以重复定时器的方式进行检查 periodCheckDelay 控制该间隔(默认10分钟)。
| 类型 | 描述 | 用例 |
|---|---|---|
autoUpdate: atBackground | 在应用切换到前台时检查并下载,应用切换到后台时应用 | 大多数应用;最小的干扰 |
autoUpdate: 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 一个通道将自动交付。通过 --disable-auto-update 在通道上
| 策略 | 块 | 允许 | 用例 |
|---|---|---|---|
| 无 | Nothing | 任何目标包版本 | 默认; 全自动更新 |
| 重大 | 重大大于 version_build例如 1.2.3 -> 2.0.0 | 同大版本,例如 1.2.3 -> 1.9.0 或 1.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.2 或 1.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 (清单) |
| 仅下载更改的文件 | 大多数更新;更快、更节省带宽的方式. | __CAPGO_KEEP_0__ |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @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 (清单) |
相关
标题:相关- 更新行为 — 配置应用时延和延迟
- 版本目标 — 基于频道的版本路由
- Delta (manifest) Updates — 支持部分下载
- Channels — 通道配置和优先级
Keep going from Update Types
《Keep going from Update Types》如果您正在使用 Update Types 来规划实时更新的交付,请将其与 Capgo 实时更新 集成到Capgo 实时更新中, 概览 概述中的实现细节 功能 功能中的实现细节 更新行为 更新行为中的实现细节 开始使用 开始使用中的实现细节