频道
复制一个包含安装步骤和本插件的完整 Markdown 指南的设置提示。
如何 Capgo 选择一个通道(优先级)
如何 Capgo 选择一个通道(优先级)When a device asks Capgo for an update, the channel it will use is decided in the following order (highest priority first):
- Forced device mapping: 如果设备 ID 被明确强制到一个频道(请参见频道设置中的 Forced devices 列表),那么这个频道总是会获胜。
- Cloud override (created by
setChannel()或 Webapp 动作): 调用setChannel(或在控制台中更改设备的频道) 会在云端写入一个持久的覆盖,绑定到该设备 ID。该覆盖会在强制映射之后,但在任何默认值之前被咨询。重新安装应用程序不会清除它;删除设备条目会。 __CAPGO_KEEP_0__ 配置 __CAPGO_KEEP_0__ - Capacitor config
defaultChannel(test build default): 对于内部 / 测试 / 测试构建,您可以设置defaultChannel(legacy keychannel) 在capacitor.config.*所以测试设备从预发布频道启动(例如,beta,pr-123). 如果缺失,设备将继续使用云默认值。生产构建通常不设置此值。 - 云默认频道(~99% 用户的主要策略): 大多数真实用户都会在此频道上。任何没有强制、没有覆盖、没有配置的新设备
defaultChannel都使用此频道。改变它会在秒内(或回滚)为所有人推出新二进制文件。
为什么 云默认 是主要路径:
- 立即发布或回滚 native 二进制文件,无需重建或重新发布。
- 一处管理 iOS、Android 和 Electron 行为。
- 更安全:您可以在切换默认值之前确认捆绑包存在且设置正确。
- 可审计的更改(团队成员可以在 UI / 日志中看到谁修改了什么)。 设计原则:上层(强制 / 覆盖 / 配置)是 异常 (单独调试用户、QA Switching、测试构建默认值)。正常用户流向云端默认值。
改变 云端 频道会影响 新 正常设备:
- 它们没有被强制
- 请勿已有一个云端覆盖
- 未定义应用级别
defaultChannel如果测试构建与
并且您稍后将云端默认值更改为 defaultChannel: 'beta' 设备在 production通过配置启动的 beta (a) 使用 setChannel()(b) 强制或 (c) 删除设备条目
设备将保持其当前频道,除非您:
- 强制将其更改为另一个频道。
- 调用
setChannel()(创建/替换云端覆盖) 或在控制台中手动更改。 - 移除/归档他们所在的频道(然后他们将在下一次检查时重新通过优先顺序)。
如果一个频道在一个平台上被禁用(见iOS / Android / Electron切换开关),并且将否则被选择,那么选择会跳过它并跳转到下一个规则。
注意:设置
defaultChannel意味着改变它需要一个新的二进制文件;在测试/QA中使用它,避免在一般生产控制中使用。
Capacitor配置示例
Capacitor配置示例// 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 其中一个或多个频道。
您可以在这里了解更多关于它 删除频道
如图所示)2 管理频道
点击频道名称将打开一个弹窗,允许您管理频道设置。 (3 在图片中)

频道设置页面包含了您的频道的所有配置选项。让我们逐一介绍每个设置。
首先是 Default channel 开关。启用后,这个频道将成为新设备的默认频道。有关默认频道的详细说明,包括如何设置平台特定的默认值(一个用于iOS,一个用于Android,一个用于Electron),请参见 默认频道配置 部分。
第二是 IOS 设置。这个设置相对简单。如果这个设置为false,则iOS设备将无法从这个频道下载更新。
第三是 Android 设置。这个与 IOS. 如果这个为假,那么安卓设备将无法从这个频道下载更新。
第四是 Electron 设置。这个与 IOS 和 Android. 如果这个为假,那么 Electron 应用程序将无法从这个频道下载更新。
第五是 Disable auto downgrade under native 设置。 如果这个为真,那么就无法从原生版本降级。这意味着,如果您已经上传了一个 1.2.0 版本到应用商店或 Google Play 商店,然后尝试将频道版本设置为 1.1.0 那么更新(降级)将失败。
第六是 Disable auto update. 这个设置非常复杂,您可以在这里了解更多关于它 这里
关于 Allow development build. 如果这个是真,那么开发版本将允许从这个频道下载更新。如果不是,那么任何更新请求都将被拒绝,除非__CAPGO_KEEP_0__设置为false。这主要适用于测试目的。 prod 第七是
. 如果这个是假,那么__CAPGO_KEEP_0__将禁止任何来自模拟器的更新请求。这主要适用于测试目的。 Allow Emulators. If this is false then Capgo will disallow any update request that comes from an emulator. This is mostly useful for testing purposes.
. 如果这个是真,那么将可用。 如果设置为false并尝试调用setChannel方法,则调用将失败。 Allow devices to self associateAs for . If this is true then development builds will be allowed to download updates from this channel. If not then any update request that has the set to false will be rejected. This is mostly useful for testing purposes. Seventh is the . If this is false then __CAPGO_KEEP_0__ will disallow any update request that comes from an emulator. This is mostly useful for testing purposes. Eighth is the . If this is true then the setChannel method will be available. If this is set to false and you try to call the setChannel method with this channel then the call will fail.
继续从 Channels
Channels 的标题:继续如果您正在使用 Channels 来规划频道路由和阶段性发布,连接它与 Channels 来 Channels 的实现细节 Channels 来 Channels 的实现细节 Beta 测试解决方案 来 Beta 测试解决方案 的产品工作流 版本目标解决方案 为产品工作流程在版本目标解决方案中, 和 Capgo 环境最佳实践:使用一个移动应用ID进行分阶段 为Capgo 环境最佳实践:使用一个移动应用ID进行分阶段的实际上下文中,