跳过内容

Channels

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

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

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

  1. 强制设备映射: 如果设备 ID 被明确强制到一个频道(请参见频道设置中的 强制设备 列表),那么这个频道总是会获胜。
  2. Cloud 强制(由 setChannel() 或 Webapp 动作): 调用 setChannel (或在控制台中更改设备的频道) 会在云端写入一个持久的强制值,关联到该设备 ID。该强制值在强制映射之后、但在任何默认值之前被咨询。重新安装应用程序不会覆盖此强制值。 不清除; 删除设备条目会。 __CAPGO_KEEP_0__ 配置
  3. Capacitor config defaultChannel : 对于内部 / 测试 / 测试构建,您可以设置(遗留密钥 defaultChannel ) 在 channel所以测试设备从预发布频道开始(例如, capacitor.config.* ). 如果缺失,设备将继续使用云默认值。生产构建通常不设置此项。 beta, pr-123云默认频道(~99% 用户的主要策略)
  4. : 大多数真实用户都会到达的主要生产频道。任何新设备,无论是否强制,无论是否有覆盖,无论是否有配置使用此项。改变它会在秒内(或回滚)为所有人发布新二进制文件。 defaultChannel Cloud Default Channel (primary strategy for ~99% of users)

Why the cloud default 是主要路径:

  • 即时发布或回滚 native 二进制文件无需重建或重新发布。
  • 一处管理 iOS、Android 和 Electron 行为。
  • 更安全:在切换默认值之前,您可以确认包存在并且设置正确。
  • 可审计的更改(团队成员可以在 UI / 日志中看到谁修改了什么)。 设计原则:上层(强制 / 覆盖 / 配置)是 异常 (调试单个用户、QA Switching、测试构建默认值)。正常用户流向云端默认值。

改变 cloud default 频道会影响 新设备: 正常设备:

  • 不强制
  • 不已经有一个云覆盖
  • 不具有应用级别 defaultChannel 定义

如果测试构建带有 defaultChannel: 'beta' 并且您稍后将云默认更改为 production,设备在 beta 通过配置 setChannel()直到您:(a)使用

(b)强制它们,或者(c)删除设备条目。

  • 强制将其转移到另一个频道。
  • Call 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>

一个组织和应用绑定的 App 预览 key 只能原子性地删除非公开预览频道和与其创建的捆绑包 channel delete <preview-channel> <app-id> --delete-bundle。它无法更改或删除现有的默认/主频道、另一个预览 key 的频道或另一个 key 的捆绑包。见 API Keys 了解最少权限设置的详细信息。

在图片中)3 频道设置

频道设置页面包含了您的频道的所有配置选项。让我们逐一介绍每个设置。

管理频道


首先是 Default channel 开关。 当启用时,这个频道将成为新设备的默认频道。 了解默认频道的工作原理,包括设置平台特定的默认值(一个用于iOS,一个用于Android,一个用于Electron)的详细说明,请参见 默认频道配置 部分。


第二是 IOS 设置。 这个设置相对简单。 如果这个设置为false,则iOS设备将无法从这个频道下载更新。

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

第四是 Electron 设置。 这个设置与 IOS 和类似。 Android如果这个值为 false,则 Electron 应用程序将无法从此频道下载更新。

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

。这个设置相当复杂,您可以在这里了解更多信息 Disable auto update关于 。如果这个值为 true,则开发构建将允许从此频道下载更新。如果不是,则任何更新请求(如果设置为 false)将被拒绝。这主要用于测试目的。

第七个是 Allow development build. prod __CAPGO_KEEP_0__

__CAPGO_KEEP_0__ Allow Emulators. 如果这个值为 false,Capgo 将阻止来自模拟器的任何更新请求。这主要用于测试目的。

八是 Allow devices to self associate. 如果这个值为 true,则 setChannel 方法将可用。如果将其设置为 false 并尝试使用此频道调用 setChannel 方法,则调用将失败。

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

Capgo 渠道中的渐进式发布控制
渐进式发布控制出现在渠道信息标签的顶部。

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

如果您正在使用 渠道 来规划渠道路由和阶段发布,连接它 __CAPGO_KEEP_0__ Channels Channels __CAPGO_KEEP_1__ Beta Testing Solution __CAPGO_KEEP_2__ Version Targeting Solution __CAPGO_KEEP_3__ Environment Best Practices: Staging with One Mobile App ID __CAPGO_KEEP_4__ Capgo Environment Best Practices: Staging with One Mobile App ID for the practical context in Capgo Environment Best Practices: Staging with One Mobile App ID.