频道是管理应用程序更新的方式。每个频道可以有一个版本。这使您可以在生产环境中同时拥有多个应用程序版本。

频道

Capgo 如何选择频道(优先顺序)

标题:Capgo 如何选择频道(优先顺序)

当设备要求 Capgo 更新时,使用的频道将按照以下顺序(优先级最高)决定:

  1. 强制设备映射: 如果设备 ID 被明确强制到一个频道(请参见频道设置中的 强制设备 列表),那么该频道总是会获胜。
  2. Cloudflare setChannel() 或 Webapp 动作): 呼叫 setChannel (或在仪表板中更改设备的频道) 会在云端写入一个持久的覆盖,绑定到该设备 ID。 这个覆盖在强制映射之后但在任何默认值之前被咨询。 重新安装应用程序不会清除它;删除设备条目会清除它。 __CAPGO_KEEP_0__ 配置 (测试构建默认值)
  3. Capacitor config defaultChannel (遗留密钥)) 在 defaultChannel 以便测试设备从预发布频道开始(例如 channel。 如果缺失,设备将继续使用云端默认值。 生产构建通常会将其设置为未设置。 capacitor.config.* : 内部 / 测试 / 测试构建的 beta, pr-123: 内部 / 测试 / 测试构建的
  4. CloudflareCloud Default Channel (primary strategy for ~99% of users) defaultChannel :

主流生产渠道,几乎所有真实用户都会落在这里。任何新设备,除非有强制、覆盖或配置,否则都会使用这个。改变它会在秒级时间内,对所有人进行发布或回滚—无需新二进制。 Why the 云默认

  • 是主流路径:
  • 秒级发布或回滚,无需重建或重新发布原生二进制。
  • 一处管理iOS、Android和Electron行为。
  • 更安全:您可以在切换默认之前确认包裹存在并且设置正确。 可审计的更改(团队成员可以在UI或日志中看到谁改变了什么)。 设计原则:上层(强制/覆盖/配置)是

更改云默认 云默认 影响 正常设备

  • 不强制
  • 没有已有的云覆盖
  • 没有应用级别 defaultChannel 定义

如果测试构建带有 defaultChannel: 'beta' 并且您稍后更改云默认为 production设备 beta 通过配置文件保持其状态,直到您:(a)覆盖它们,(b)强制它们,或者(c)删除设备条目。 setChannel()(a)覆盖它们,(b)强制它们,或者(c)删除设备条目。

设备除非您:

  • 强制它们切换到另一个频道。
  • 呼叫 setChannel() (创建/替换云覆盖)或在控制台中手动更改。
  • 移除/归档它们当前的频道(然后它们将在下一次检查时再次通过顺序降级)。

如果一个频道在一个平台上被禁用(见iOS/Android/Electron切换开关),并且将会被选择,选择将会跳过它并降级到下一个规则。

注意:设置 defaultChannel 意味着更改它需要一个新的二进制文件;请在测试/QA中有意使用它,而不是在一般生产控制中。

Capacitor 配置示例

Capacitor 配置示例
capacitor.config.ts
// Example: a TestFlight or internal QA build defaults to the beta channel.
const config = {
plugins: {
Capgo: {
defaultChannel: 'beta', // Test build default. Omit in production so users attach to cloud default.
// legacy key: channel
},
},
};
export default config;

如果您稍后改变控制台的默认设置 production, 设备已经在另一个通道上(通过配置、覆盖或强制)不会自动移动;只有新设备(或您清除的覆盖/强制)才会接收它。


首先,让我们来看看通道页面。您可以通过 点击您的应用 然后 点击通道选项卡.

通道列表

创建一个通道

创建频道

如图所示,在页面的右下角有一个加号按钮。点击它会弹出一个模态窗口,允许您创建一个新的频道。1 新频道

然后点击

新频道应该会出现在列表中。 Add 频道创建后

什么是配置不正确的含义?

频道之一的配置不正确。 您可以了解更多关于它 Misconfigured 频道配置不正确 Yes 频道配置不正确 这里

删除频道

删除频道

要从web应用中删除频道,请打开 频道 tab 操作 操作 删除 删除

如果垃圾箱图标不可见,说明您的账户没有删除频道的权限

频道行 channel.delete 该应用程序的权限。请向组织或应用程序管理员请求授予可以删除通道的角色,或者使用具有权限的API密钥删除该通道:

终端窗口
npx @capgo/cli@latest channel delete <channel-name> <app-id>

受组织和应用程序约束的 应用程序预览 仅能原子性地删除非公开预览通道和与其创建的捆绑包,不能更改或删除现有的默认/主通道、另一个预览密钥的通道或另一个密钥的捆绑包。请参阅 channel delete <preview-channel> <app-id> --delete-bundle__CAPGO_KEEP_0__密钥 API Keys 管理通道

__CAPGO_KEEP_0__ Keys3 在图像中)

频道设置

频道设置页面包含了所有频道配置选项。让我们逐一检查每个设置。


首先是 Default channel 开关。启用后,这个频道将成为新设备的默认频道。有关默认频道的详细说明,包括如何设置平台特定的默认频道(一个用于iOS,一个用于Android,一个用于Electron),请参见 默认频道配置 部分。


其次是 IOS 设置。这很简单。如果这个设置为false,则iOS设备将无法从这个频道下载更新。

第三是 Android 设置。这与 IOS类似。如果这个设置为false,则Android设备将无法从这个频道下载更新。

第四是 Electron 设置。这与 IOSAndroid。如果这个值为假,那么 Electron 应用程序将无法从此频道下载更新。

第五是 Disable auto downgrade under native 设置。如果这个值为真,那么就无法从原生版本降级。这意味着如果您已经上传了一个版本到应用商店或 Google Play 商店,并尝试将频道版本设置为 1.2.0 那么更新(降级)将失败。 1.1.0 第六是

。这个设置相当复杂,您可以在这里 Disable auto update了解更多关于它的信息。 关于

As for Allow development build如果这个是真实的,那么开发构建将允许从这个频道下载更新。如果不是,那么任何更新请求都将被拒绝。这个主要有助于测试目的。 prod 设置为false将被拒绝。这主要有助于测试目的。

第七是 Allow Emulators如果这个是假的,那么Capgo将拒绝任何来自模拟器的更新请求。这主要有助于测试目的。

第八是 Allow devices to self associate如果这个是真实的,那么将可用。如果设置为假,并且您尝试使用这个频道调用setChannel方法,则调用将失败。 渐进式发布 渐进式发布 设置频道 设置频道

渐进式发布

渐进式发布

频道 信息 选项卡包含一个 渐进式发布 部分。设置目标包,选择百分比和决策缓存持续时间,然后启用发布。从同一部分,您可以暂停或恢复曝光,促进目标到稳定,回滚或配置自动暂停,回滚或通知,当失败信号超过阈值时。

Progressive rollout controls in a Capgo channel
渐进式发布控制出现在频道信息选项卡的顶部。

阅读 渐进式发布 在启用之前阅读它。它解释了粘性小组,安全百分比变化和自动暂停行为。

如果您正在使用 频道 为规划频道路由和阶段性发布,连接它与 频道 频道 频道 频道 Beta测试解决方案 为Beta测试解决方案中的产品工作流程 版本目标解决方案 为版本目标解决方案中的产品工作流程,和 Capgo 环境最佳实践:使用一个移动应用ID进行分级 为 Capgo 环境最佳实践中的实际上下文:使用一个移动应用 ID 的测试环境。