跳过内容

更新类型

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.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 (manifest)
仅下载更改的文件大多数更新; 更快、带宽友好__CAPGO_KEEP_0__
终端窗口
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta

快速参考

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

Keep going from Update Types

关于“Keep going from Update Types”

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