Capgo 使用 2 个主要变量来管理您的 Capacitor 应用程序的版本:
- 原生版本
- JavaScript 版本
所有版本选择都由 Capgo 在服务器端决定。
版本管理系统
要管理 Capgo 版本,请使用 SemVer 系统,了解更多信息 这里.
版本
Where Capgo find the version to compare
您可以通过设置版本键来覆盖此行为。
capacitor.config.json文件 文档 所有平台都会忽略本地版本。
iOS
在 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种输出:
- Capgo的本地打包版本(1.2.3)低于Capgo打包版本(1.2.4),Capgo将其打包发送给用户。
- Capgo的本地打包版本(1.2.3)等于Capgo打包版本(1.2.3),Capgo发送“无需更新”。
- Capgo的本地打包版本(1.2.4)高于Capgo打包版本(1.2.3),Capgo发送“无需更新”。
- Capgo的本地打包版本(1.2.3)与Capgo打包版本(2.2.3)相差主版本,Capgo发送“无需更新”。
其他设置
在原生下禁用自动降级
如果您将此设置更改为false,Capgo将始终被认为是可信的版本来源。 然后行为变为:
- Capgo版本(1.2.4)高于原生版本(1.2.3)
Capgo发送其版本给用户。
禁用自动升级策略
您可以选择以下几种策略。您可以在这里了解更多 这里
JavaScript 打包版本
JavaScript 打包版本是您在执行时发送的版本 npx @capgo/cli@latest bundle upload --channel production
如果您没有使用选项 --bundle 1.2.3,Capgo 将从您的 package.json 文件(在版本键中)中获取打包版本
在您的 Ionic 应用程序安装了一个版本后,Capgo 将是与
- Their JavaScript bundle version (1.2.3) is lower than Capgo bundle version (1.2.4), Capgo send his bundle to the user.
他们的 JavaScript 打包版本(1.2.3)低于__CAPGO_KEEP_0__打包版本(1.2.4),__CAPGO_KEEP_1__发送他的打包给用户
- If native bundle version is higher than Capgo version, the
Disable auto downgrade under native如果本地打包版本高于__CAPGO_KEEP_0__版本,则条件会被应用 - 如果原生捆绑包版本的主版本号小于 Capgo 版本号,条件将被应用。
Disable auto upgrade above major条件
应用商店更新
当您将 Capacitor 的 JS 应用程序发布到 App Store 时,发生的事情很简单。
您的用户将从商店获取新版本,并在默认情况下从本地更新中删除应用程序中的所有更新。
如果您想改变这种行为,请设置以下设置 resetWhenUpdate 了解更多 这里
这只能在应用程序侧进行更改,而不是像其他设置一样从云端进行更改。
其他设置
在所有这些行为之后,您可以在设备 ID 上添加一些特定的设置,如上所述。
在 Capgo 中,您可以决定为每个设备 ID 覆盖行为。
您可以将设备ID链接到:
- 一个特定的捆绑包版本
- 一个特定的频道
这将绕过上述所有设置。
更多信息,请参见下面的文章。