跳过内容

通道

如何Capgo选择频道(优先级)

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

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

  1. 强制设备映射: 如果设备 ID 被明确强制到一个频道(请参见频道设置中的 强制设备 列表),那么该频道总是获胜。
  2. Cloud 强制 (由 setChannel() 或 Webapp 动作创建): 调用 setChannel (或在仪表板中更改设备的频道) 会在云中写入一个持久的强制配置项,关联到该设备 ID。该配置项在强制映射之后、但是在任何默认值之前被咨询。重新安装应用程序不会清除它;删除设备条目也不会。 __CAPGO_KEEP_0__ 配置 (测试构建默认值) 强制设备映射
  3. Capacitor config defaultChannel 强制设备列表”,那么该频道总是获胜。: For internal / beta / test builds you can set defaultChannel (legacy key channel) in capacitor.config.* so test devices start on a pre-release channel (e.g. beta, pr-123). If absent, the device will proceed to the cloud default. Production builds usually leave this unset.
  4. Cloud Default Channel (primary strategy for ~99% of users): The main production channel virtually all real users land on. Any new device without a force, without an override, and without a config defaultChannel uses this. Changing it rolls out (or rolls back) for everyone in seconds—no new binary.

Why the cloud default is the main path:

  • 即使是内部/测试/测试构建,您也可以设置它。
  • 一个地方管理 iOS、Android 和 Electron 行为。
  • 更安全:您可以在切换默认值之前确认捆绑包存在且设置正确。
  • 可审计的更改(团队成员可以在 UI / 日志中看到谁修改了什么)。 设计原则:上层(强制 / 覆盖 / 配置)是 异常 (调试单个用户、QA切换、测试构建默认值)。正常用户流向云端默认值。

更改 云端 频道会影响 正常设备:

  • 不被强制
  • 不已经有一个云端覆盖
  • 不具备应用级别 defaultChannel __CAPGO_KEEP_0__

如果测试构建带有 defaultChannel: 'beta' 并且您稍后将云默认值更改为 production的设备始终使用 beta 通过配置 setChannel()设备将保持其当前频道,除非您:

强制将其更改为另一个频道。

  • 调用
  • (创建/替换云覆盖) 或在控制台中手动更改。 setChannel() 删除/归档它们所在的频道(然后它们将在下一次检查时再次通过顺序降级)。
  • __CAPGO_KEEP_0__

如果一个渠道在某个平台上被禁用(参见 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 频道创建后

__CAPGO_KEEP_0__

什么是配置错误?

配置错误的定义

有时一个频道的配置不正确。在这种情况下,您会看到一个大警告,且 Misconfigured 列会显示 Yes 一个或多个频道的配置错误。 您可以了解更多关于它 这里

删除频道

删除频道

删除频道非常简单。您只需点击垃圾桶图标并确认删除。 (2 在图片中)

管理频道

管理频道

点击频道名称将打开一个弹出窗口,您可以在其中管理频道设置。 (3 频道设置

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

首先是


开关。启用后,这个频道将成为新设备的默认频道。有关默认频道的全面解释,包括如何设置平台特定的默认值(一个用于iOS,一个用于Android,一个用于Electron),请参见 Default channel 默认频道配置 第二个是 设置。这个设置相对简单。如果这个设置为false,则iOS设备将无法从该频道下载更新。


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

最后一个是 Android 设置。这个设置用于指定频道的更新频率。 IOS如果这个值为 false,则 Android 设备将无法从此通道下载更新。

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

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

第六是 Disable auto update。这个设置很复杂,您可以在这里了解更多 关于它

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

第七 Allow Emulators如果这个值为 false,则从模拟器中发出的任何更新请求都会被 Capgo 拒绝。这主要用于测试目的。

八是Capgo的 Allow devices to self associate如果这是真的,那么 设置频道 该方法将可用。如果将其设置为 false 并尝试调用该方法时, 设置频道 如果使用了这个通道,调用将会失败。