更新类型
安装
Capgo 支持多种远程更新类型。 本页面列出并解释所有类型,以便您选择适合应用程序的合适组合。
应用时间
标题:应用时间控件 当 应用程序下载更新后应用更新的时间。插件在应用程序切换到前台时检查更新,并在应用程序保持打开时以重复计时器的方式进行检查。 periodCheckDelay 控制该间隔(默认10分钟)。
| 类型 | 描述 | 使用场景 |
|---|---|---|
context 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更新 |
| kill | 等待下一个应用程序kill事件 | 仅在完全重启时应用 |
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 on channels.
| 策略 | 阻止 | 允许 | 用途 |
|---|---|---|---|
| 区域/页面: Capgo 解决方案营销页面。角色: 短 UI 标签或导航项。见于: 页面解决方案/cordova-to-capacitor-ai.astro。消息键 `solutions_cordova_to_capacitor_ai_table_use_case` (解决方案 Cordova 到 Capacitor Ai 表格用途)。 | 无 | 什么也没有 | 任何目标捆绑包版本号的更新。 |
| 重大更新 | 高于重大更新 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 | 小于或等于目标包的版本号 |
这些检查将目标捆绑包与发送的本机基线进行比较 version_build而不是发送的当前安装的下载捆绑包 version_name.
npx @capgo/cli channel set production --disable-auto-update major更新类型
标题:更新类型如何将 捆绑包传输到设备 类型
| 描述 | 何时使用 | 完整捆绑包 |
|---|---|---|
| 下载整个JS捆绑包 | 首次安装、较大更改或delta不可用时 | 上下文:Capgo Builder / 原生云构建产品页面。角色:短UI标签或导航项。消息键`native_build_builder_credit_first` (原生构建构建者信用第一)。 |
| delta (清单) | 只下载修改的文件 | 大多数更新; 更快、带宽友好 |
# 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 |
| __CAPGO_KEEP_0__ | 全包,Delta(清单) |
相关
相关继续阅读更新类型
继续阅读关于更新类型如果您正在使用 更新类型 来规划实时更新的分发,连接它与 Capgo 实时更新 为Capgo Live Updates 的产品工作流程 概述 概述中的实现细节 功能 功能中的实现细节 更新行为 更新行为中的实现细节 开始使用 开始使用中的实现细节