Capgo 使用 2 个主要变量来管理您的 Capacitor 应用版本:
- 原生版本
- JavaScript 版本
所有版本选择都是在服务器端决定的,Capgo。
版本管理系统
为了管理版本 Capgo,使用 SemVer 系统,了解更多信息 这里.
版本
在 Capgo 中找到要比较的版本
您可以通过在
capacitor.config.json文件 docs 这里
原生版本将被忽略所有平台。
IOS ios/App/App/Info.plist 在此键下CFBundleShortVersionString 或 ios/App/App.xcodeproj/project.pbxproj 在此键下 MARKETING_VERSION 如果 MARKETING_VERSION 在您的 Info.plist 文件中。
Android
在 Android 中,变量在您的项目中设置在此处 android/app/build.gradle 在此键下 defaultConfig.versionName
JavaScript ( Capgo 包版本 )
在 JavaScript 中,变量可以在您的 package.json 在此键下 version
否则您需要在上传命令中提供它。
默认行为
如果您没有改变任何设置,这是Capgo频道的行为方式。
此行为将基于您设置为默认的唯一频道。
当您首次安装Capacitor应用时
当用户首次下载并打开Ionic应用时,它会联系Capgo服务器。
目前,4种输出结果可能发生:
- 本地打包版本(1.2.3)低于Capgo打包版本(1.2.4),Capgo将其打包发送给用户。
- 本地打包版本(1.2.3)等于Capgo打包版本(1.2.3),Capgo发送“无需更新”。
- 本地打包版本(1.2.4)高于Capgo打包版本(1.2.3),Capgo发送“无需更新”。
- 本地打包版本(1.2.3)与Capgo打包版本(2.2.3)相差主版本,Capgo发送“无需更新”。
其他设置
禁用原生自动降级
如果您将此设置更改为 false,Capgo 将始终认为是可信的版本来源。 然后行为变为:
- 原生版本(1.2.4)高于Capgo版本(1.2.3)
Capgo将其版本发送给用户。
禁用原生升级策略
您可以选择以下策略之一。您可以在这里了解更多 JavaScript 包版本
JavaScript 包版本是您在执行
如果您没有使用该选项,__CAPGO_KEEP_0__将从您的 npx @capgo/cli@latest bundle upload --channel production
文件(在版本键中)获取包版本 --bundle 1.2.3Capgo将始终认为是可信的版本来源。 package.json 原生版本(1.2.4)高于__CAPGO_KEEP_0__版本(1.2.3)
当您的Ionic应用程序安装了一个版本后,Capgo,将与此版本进行比较:
- 他们的JavaScript包版本(1.2.3)低于Capgo包版本(1.2.4),Capgo将其包发送给用户。
有某些条件限制:
- 如果本机包版本高于Capgo版本,则
Disable auto downgrade under native条件适用。 - 如果本机包版本是Capgo版本的MAJOR版本低,则
Disable auto upgrade above major条件适用。
应用商店更新
当您将Capacitor的JS应用程序发布到App Store时,发生的事情很简单。
您的用户将从商店获取新版本并在应用程序中默认删除所有本地更新。
如果您想改变这种行为,则需要设置设置 resetWhenUpdate 了解更多信息 这里
这只能在应用端进行修改,而不是像其他设置一样从云端进行修改。
其他设置
在所有这些行为之后,您可以在设备ID上添加一些特定的一个。
在 Capgo 中,您可以决定为每个设备ID覆盖行为。
您可以将一个设备ID链接到:
- 一个特定的捆绑版本
- 一个特定的频道
这将绕过上述所有设置。
更多信息,请参见以下文章。