更新类型
可复制
Capgo supports several types of over-the-air (OTA) updates. This page lists and explains all of them so you can choose the right combination for your app.
__CAPGO_KEEP_0__ 支持多种远程更新(OTA)。本页面列出并解释了所有它们,以便您可以选择适合您的应用的合适 combination。
Section titled “应用时间”控制 当更新下载后应用 插件在应用进入前台时检查更新,并在应用保持打开时以重复计时器的方式进行检查。 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 更新安装之前
| 条件 | 描述 | 示例 |
|---|---|---|
| 日期 | 等待特定日期/时间后 | 与服务器端发布协调 |
| 后台 | 等待应用程序后台最小持续时间(毫秒) | 避免在快速应用程序切换期间应用 |
| 原生版本 | 要求最低原生二进制版本 | 在不兼容的原生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 频道设置
| 策略 | 块 | 允许 | 用例 |
|---|---|---|---|
| 无 | 没有 | 任何目标包版本 | 默认; 全自动更新 |
| 主 | 高于主 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 (manifest) |
| 仅下载更改的文件 | 大多数更新; 更快、带宽友好 | __CAPGO_KEEP_0__ |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @capgo/cli bundle upload --channel production --delta快速参考
快速参考部分| 类别 | 类型 |
|---|---|
| 应用时延 | 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 实时更新中的产品工作流 概览 概述中的实现细节 功能 功能中的实现细节 更新行为 更新行为中的实现细节 开始使用 开始使用中的实现细节