跳过内容

测试原生构建无实时更新

在测试新本机二进制文件时,请确保它从该二进制文件中包含的 Web 资产开始,而不是从之前下载的实时更新开始。使用以下安全措施之一或结合使用。

1. Native 基线版本号

标题:1. Native 基线版本号

设置 CapacitorUpdater.version 从您的本机发布版本中获取版本,并为每个本机构建增加版本号。使用较新的本机基线会使安装的二进制文件与旧的捆绑包不同, resetWhenUpdate: true默认情况下,

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
// Keep this aligned with, and increase it for, every native build.
version: pkg.version,
autoUpdate: 'atBackground',
},
},
};
export default config;

复制到剪贴板 version: '1.4.1' 例如,使用 1.4.0 构建的二进制文件具有比现有

捆绑包更高的本机基线。不要重用本机版本以验证捆绑资产。

2. 在控制台中阻止模拟器和开发构建更新

Open your app in the Capgo console, go to 在__CAPGO_KEEP_0__控制台中打开您的应用,转到频道 上下文:Capgo发布频道功能名称。页面/区域:Capgo解决方案营销页面。角色:短的UI标签或导航项。见于:页面解决方案/白标签.astro。消息键`解决方案白标签视觉单元2值`(解决方案白标签视觉单元2值)。 tab. 开启 关闭 两者 允许开发构建允许模拟器.

Capgo
频道信息

截图显示了设置的位置;其高亮的开关已启用。关闭两者开关以便频道不向开发构建或模拟器传递实时更新。

3. 只在本机CI构建中启用实时更新

Section titled “3. 只在本机CI构建中启用实时更新”

对于希望本地、模拟器和开发者构建默认安全的团队,通过环境变量使实时更新成为可选项。以下配置禁用更新检查,除非 CAPGO_LIVE_UPDATES 是精确的 true:

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const liveUpdatesEnabled = process.env.CAPGO_LIVE_UPDATES === 'true';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// Bump package.json for every native build.
version: pkg.version,
// Local builds are off; native CI explicitly enables live updates.
autoUpdate: liveUpdatesEnabled ? 'atBackground' : false,
},
},
};
export default config;

仅在CI步骤中设置变量,该步骤同步和构建本机应用:

- run: CAPGO_LIVE_UPDATES=true npx cap sync
- run: ./build-native-app.sh

运行 npx cap sync 因为Capacitor在同步期间将此配置复制到本机项目中。没有该变量, autoUpdate: false 快速检查清单

Section titled “快速检查清单”

快速检查清单
  1. 升级用于 CapacitorUpdater.version 为本机二进制文件
  2. 禁用 允许开发构建 并且 允许模拟器 在渠道上测试这些构建类型时
  3. 在本地构建 CAPGO_LIVE_UPDATES.
  4. 设置 CAPGO_LIVE_UPDATES=true 仅在 npx cap sync 在本机CI工作流中
  • 频道 —频道路由和策略。
  • 更新行为 —更新检查和应用。
  • 版本目标 上下文:Capgo解决方案营销页面。角色:页面标题或导航项。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting_title` (解决方案版本目标标题)。|上下文:Capgo解决方案营销页面。角色:短的UI标签或导航项。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting` (解决方案版本目标)。