跳过主内容

版本目标

让开发更快、更少惊喜

降低风险和技术债务。推送特定原生版本的更新,逐渐发布更改,并保持较旧的版本稳定 - 但仍然控制您的更新分发。

原生版本每个频道

为每个原生构建创建一个频道。当您发布原生版本1.5.0时,创建一个频道。所有JS更新都将针对该原生版本的频道。

选择性更新分发

推送更新到版本1.3、1.4和1.5,但跳过1.2。适用于较旧的原生版本无法支持新功能的情况。

AppFlow迁移准备就绪

重建AppFlow的版本关联频道行为。每个原生构建映射到一个Capgo频道,具有您习惯的相同控制。

优雅的废弃

停止推送更新到旧版本时,准备将它们废弃。使用旧版本的用户保持稳定,而新版本仍然获得更新。

AppFlow迁移

AppFlow 用户:这是您的迁移路径

AppFlow 自动将绑定到原生版本。通过 Capgo,您可以获得相同的行为,但具有更大的灵活性:

  • 1
    为每个原生版本创建一个频道(例如,'native-1.5.0')
  • 2
    配置您的应用程序以使用匹配其原生版本的频道
  • 3
    将包推送到特定频道以实现目标分发
  • 4
    使用我们的 CLI 一次性推送到多个频道时
capacitor.config.ts
// Set channel based on native version
import { CapacitorConfig } from '@capacitor/cli'
import { version } from './package.json'

const config: CapacitorConfig = {
  plugins: {
    CapacitorUpdater: {
      defaultChannel: `native-${version}`,
    }
  }
}

// Upload to specific version channels
# Push to all 1.5.x versions
npx @capgo/cli bundle upload --channel native-1.5.0
npx @capgo/cli bundle upload --channel native-1.5.1
npx @capgo/cli bundle upload --channel native-1.5.2

# Skip older versions that can't support new features
# native-1.4.x devices stay on their current bundle

常见场景

破坏性原生更改

原生版本 2.0 有一个新插件 API。仅将使用新 API 的 JS 更新推送到 2.0+ 频道。

渐进式发布

在您的最新原生版本上测试一个风险的更改。如果稳定,则推送到旧版本。

版本落日

停止更新 1.x 本机版本,同时继续将 2.x 发布给用户。老版本用户将保持在最后一个稳定更新。

版本到频道映射

每个本机版本都指向自己的频道,以实现精确的更新控制

本机 2.0
native-2.0.0
最新打包
本机 1.5
native-1.5.0
最新打包
本机 1.4
native-1.4.0
无新更新

仅推送 2.0 和 1.5 通道的更新。1.4 用户保持在他们最后一次工作的捆绑包上。

真实应用示例

公共应用必须支持旧和新native版本

公民、健康和预测应用可能支持较旧的Android版本和不同设备的世代。版本目标使每个native构建保持最新的兼容web捆绑包,而不强制所有人使用一个更新路径。

示例类型
版本目标
商店类别
社交、医疗、天气
来源
公共商店数据集
+

根据native版本服务捆绑包

+

保护不兼容UI的老设备

+

安全地将现代用户推进

Conecte SUS应用图标

医疗

Conecte SUS

27.7M 安装4.6 分

健康应用程序,可能需要不同版本的原生壳和web包。

查看Google Play列表
Windy.com - Weather Forecast app icon

WEATHER

Windy.com - Weather Forecast

32.9M 安装4.7 分

设备能力和地图性能可能会因版本而异的天气应用程序。

查看Google Play列表

公共应用商店数据仅供参考。 这不是Capgo客户的声明。

需要精确的更新控制吗?

开始针对特定的原生版本进行更新.