快速访问主内容

测试版

将 Web 变更发送到测试版用户无需新 TestFlight 构建

测试者只需安装您的应用程序一次。随后,JavaScript、HTML 或 CSS 的每次更改都将发送到他们从应用程序中加入的测试版通道,并在下一次更新检查时获取。 native code 的更改仍将通过 TestFlight 或 Play 测试轨道进行。

来自马丁的专业支持

测试者从应用程序中加入

允许在通道上自行分配 --self-assign。您的应用程序列出通道 listChannels(),并将设备移动到 setChannel(),因此测试者可以从设置屏幕加入测试版。

setChannel() 参考

在控制台中固定一个设备

在Capgo控制台中设置一个设备的覆盖,以在不改变应用的情况下将单个测试者的手机添加到一个频道。覆盖将在90天后删除。

设备覆盖

分享构建(code)

Enable previews for the app once. Then get-qr, or --qr-preview on upload, prints a QR code and preview links for a bundle or channel that you can post in your QA thread.

获取二维码参考

原生更改保持测试飞行

Live更新会更改JavaScript、HTML、CSS和资产。当您添加一个插件或更改原生code时,请发送一个新的测试飞行或Play测试构建,然后继续迭代它。

需要原生构建的内容

测试飞行和Capgo频道执行不同的任务

  • 将新构建发送给测试者

    测试飞行/Play测试
    构建、签名、上传并等待商店处理
    Capgo beta频道
    在 Capgo 解决方案中,上传一个包并将其与 CLI 配对。测试者在下一次更新检查时可以获取它。
  • 添加测试者

    TestFlight / Play测试
    邀请他们在App Store Connect或Play控制台
    Capgo beta频道
    他们从您的应用程序加入频道,或者您设置一个设备覆盖
  • 将测试者移动到另一个构建

    TestFlight / Play测试
    安装一个不同的构建
    Capgo beta频道
    切换应用中的频道使用 setChannel()
  • 原生 code 和插件变化

    TestFlight / Play 测试
    是
    Capgo beta 频道
    不,发布一个新二进制

测试者仍然从 TestFlight、一个 Play 测试跟踪或商店安装应用程序一次。频道从那里接管Web层更改。 需要原生构建什么

如何工作

How QA teams run a beta with Capgo

一个已安装的构建,一个测试者可以加入的频道,以及每次更改一次 CLI 上载。每个命令都来自 Capgo 文档。

  1. 创建一个测试者可以加入的 beta 频道

    自我分配允许应用将设备移动到这个频道。不要在你的生产频道上关闭它。

    npx @capgo/cli@latest channel add beta com.example.app --self-assign
    频道文档
  2. 在应用中添加一个加入 beta switch

    setChannel() 询问 Capgo 是否允许自我分配,然后将其存储在设备上。triggerAutoUpdate 立即开始更新检查。

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    // Join beta and check for its bundle now
    await CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true })
    
    // Leave beta and go back to the default channel
    await CapacitorUpdater.unsetChannel({ triggerAutoUpdate: true })
    setChannel() 参考
  3. 每次更改上传到 beta

    启用预览一次。之后,打印一个带有每次上传的新包的 QR code,测试者和审阅者可以打开它。

    # once
    npx @capgo/cli@latest app set com.example.app --preview
    # every change
    npx @capgo/cli@latest bundle upload --channel beta --qr-preview
    get-qr 参考
  4. 推广 QA 通过的内容

    将测试包链接到生产环境,或先在生产设备的一部分上发布。测试者直到离开它才会停留在beta版本。

    npx @capgo/cli@latest channel set production com.example.app \
      --bundle 1.4.2
    # or roll it out to 10% of production first
    npx @capgo/cli@latest channel set production com.example.app \
      --rollout-bundle 1.4.2 --rollout-percentage 10 --rollout-enable
    渐进发布文档

谁使用beta频道

内部QA

QA会保持一个安装好的版本,并在qa、beta和feature频道之间切换,而不是为每个JavaScript变化重新安装。

优选beta用户

添加一个Join beta switch,调用setChannel()。离开用户会调用unsetChannel(),返回到默认频道。

利益相关者审查

发送一个QR code 从get-qr中,产品负责人可以打开一个特定频道或包的预览。

使用Capacitor构建的应用

社区应用需要谨慎地暴露特性

高使用量的消费应用可以在关闭的测试组中验证游戏、学习或预测流程,直到每个用户都接收到新的体验。

lichess • 免费在线国际象棋应用图标 游戏棋盘

lichess • 免费在线国际象棋

拥有大型社区应用,比赛、分析和社交功能需要小心验证。

Google Play 安装
1,130万
商店评分
4.3
StudySmarter - 学校 & 大学应用图标 教育

StudySmarter - 学校 & 大学

教育流程中,需要在发布前审查用户注册和实践变化。

Google Play 安装
650万
商店评分
4.8
风向网 - 天气预报应用图标 WEATHER

风向网 - 天气预报

产品变更需要在扩展之前获得足够的信心,例如天气预报和地图交互。

Google Play 安装
32,900万
商店评分
4.7

客户证明

使用Capgo的团队开发者说

5.0/5 由开发者团队评分 9,400+ 团队 查看评论

纳特范约尔

CTO, 私有

“设置起来只需一天。基于通道的发布让我在自己的设备上测试之前,任何内容都不会影响生产用户。”

无语@ Webincode

开发者, Webincode

“能够将设备ID添加到某些组并推送到仅限某些组的更改是救命的。”

迈克尔哈伯勒的肖像

迈克尔·哈伯勒

网络测试员

“Capgo更新插件做得很好。它在我这里工作得很好,实时更新是快速测试回归的超级加速器。”

常见问题

Beta 测试常见问题

测试者、构建和仍需TestFlight的什么

Can Capgo replace TestFlight or Play internal testing?

Only for web-layer changes. Testers install your app once from TestFlight, a Play testing track, or the store. After that, JavaScript, HTML, CSS, and asset changes can reach them through a channel. Adding a plugin, upgrading Capacitor, or changing native code or Capacitor config needs a new binary.

上下文: Capgo解决方案营销页面。角色: FAQ问题或答案。见于: 页面 solutions/beta-testing.astro。消息键 `solutions_beta_testing_faq_desc` (解决方案Beta测试FAQ描述)。

Capgo能否替代TestFlight或Play内部测试?

Turn on self-assignment for the beta channel, then call setChannel({ channel: 'beta' }) from a screen in your app. Capgo checks that the channel allows it and the device stores the choice. unsetChannel() sends the device back to the default channel. The default channel itself cannot be joined with setChannel().

setChannel()参考

我们是否可以移动一个测试者的手机而不改变应用?

是的。打开设备在Capgo控制台中设置一个通道覆盖。它可能需要2分钟才能到达每个边缘服务器,90天后它将被删除。使用setChannel()设置的通道在应用中不会出现在列表中。

设备覆盖

我们如何测试一个新的本机构建而不在上面有一个旧live update?

为每个本机构建增加CapacitorUpdater.version。默认设置下,下载的旧构建的包在安装新构建时会被删除。您还可以在通道中关闭开发构建和模拟器的更新。

测试本机构建而不进行实时更新

如果一个beta包在启动时崩溃?

调用notifyAppReady()一旦您的应用加载。 如果一个新包在10秒内没有调用它,设备将其标记为失败并切回上一个工作包。

notifyAppReady()和自动回滚

设置自己的beta通道

创建测试者可以加入的通道,添加switch,并在14天免费试用期内发送您的第一个包。无需信用卡。

{"text":"来自马丁的专业支持","context":"Page/area: 首页营销文案。角色: 网站文案句子。见于: 组件 HumanSupport.astro, 组件 pricing/Plans.astro。消息关键字 `home_hero_human_support` (首页英雄人类支持)"}