跳过主要内容

Capgo 插件:调度更新教程

了解如何使用一种创新插件高效地调度和管理Capacitor应用的OTA更新,确保快速和安全的部署。

马丁·多纳迪厄

马丁·多纳迪厄

目标语言:简体中文

Capgo 插件:即时更新教程

Capgo 简化了即时 (OTA) 更新, Capacitor 使开发人员能够立即推送更新,而无需等待应用商店延迟。以下是您需要了解的内容:

  • 什么是 Capgo? 一个开源的插件,用于安全地 即时更新 JavaScript 和资产到应用程序。
  • 为什么要使用它? 更新可以在 24 小时内到达 95% 的用户,具有端到端加密、CI/CD 集成和回滚选项。
  • 功能特点:
    • 自动更新计划 精确发布。
    • 频道支持 测试或分阶段发布。
    • 性能统计: 434ms API 响应时间,114ms 下载 5MB 数据。
  • 设置步骤: 安装插件配置设置,并 启用自动更新 with CapacitorUpdater.notifyAppReady().

Capgo 确保更新速度快、安全、用户友好,使其成为频繁更改应用程序的开发人员所必需的。

设置 Capgo 用于更新计划

Capgo 实时更新仪表板界面

要使用 Capgo 进行更新计划,您需要安装插件、设置项目并配置自动更新功能以满足您的需求。该过程确保您的应用程序可以高效地处理更新,同时保持与 Capgo 服务器的兼容性。 安装和配置插件 to suit your needs. This process ensures your app can handle updates efficiently while maintaining compatibility with Capgo’s server.

__CAPGO_KEEP_0__ 更新器插件

。运行以下命令: Capgo__CAPGO_KEEP_0__

npm install @capgo/capacitor-updater
npx cap sync
npx @capgo/cli init

接下来,配置您的应用程序设置在 capacitor.config.tscapacitor.config.json 文件中。两个关键字段 - appIdversion - 确定您的应用程序以 Capgo 服务器并确保更新兼容。确保您的应用程序版本遵循 语义版本 (例如,1.0.0) [4].

以下是基本配置的示例在 capacitor.config.json:

设置目的示例值
autoUpdate启用自动更新true
updateUrl更新检查的URL'https://api.capgo.app/updates'
appIdCapgo识别您的应用'com.yourcompany.yourapp'
version当前应用版本'1.0.0'

在开发期间,建议将其设置为 autoUpdate 以防止系统更新覆盖您的工作。 一旦您的应用准备就绪,转换回 false来启用为您的用户提供更新。 autoUpdate 设置自动更新功能 true 启用自动更新后,__CAPGO_KEEP_0__可以处理后台下载和安装。系统定期检查更新并确保用户始终拥有应用的最新版本。

URL for checking updates

Identifies your app to Capgo

在应用中实现这个关键步骤。尽早使用方法来启动应用。这确认了新版本正常工作。如果在指定的超时时间内没有调用该函数,系统将回滚到最后一个工作版本 notifyAppReady() 使用 CapacitorUpdater.notifyAppReady() 方法尽早启动应用。这确认了新版本正常工作。如果在指定的超时时间内没有调用该函数,系统将回滚到最后一个工作版本 [4].

以下是用于微调自动更新行为的配置选项

设置描述默认值
appReadyTimeout在考虑更新失败之前等待的时间(毫秒)10000 10秒
responseTimeout等待API请求响应的时间(秒)20
autoDeleteFailed自动删除失败的更新包true
autoDeletePrevious在成功更新后删除之前的包true
directUpdate直接在应用更新/安装时安装更新undefined
defaultChannel设置默认更新频道undefined

设置 statsUrl ,默认值为 https://api.capgo.app/stats允许您通过Capgo的分析仪表盘监控更新性能和成功率 [6].

对于生产环境,使用CI/CD管道上传新版本是非常推荐的。这确保了您的更新过程的一致性,并最小化了在发布过程中手动错误的风险 [4].

最后,请记住,OTA更新仅限于HTML、CSS和JavaScript文件的更改 [5][7]任何native code的修改都需要通过应用商店提交更新版本

如何排程和优先级更新

一旦您配置了更新系统,下一步就是计划何时和如何分发更新。使用智能排程和优先级确保更新以最小的干扰用户的方式高效地分发

基于应用状态的排程更新

最佳的时间更新是了解应用的行为和用户如何与其互动。工具如Capgo让您定义 延迟条件延迟更新直到满足某些条件 - 例如,当应用程序处于后台或特定日期到来时 [3][10].

例如,您可以使用Capacitor的App插件与Capgo更新器结合使用,来跟踪应用程序进入空闲状态的时间。这一设置允许您在低活动期触发更新检查,确保用户体验更加Smooth。

考虑网络和设备条件

一个好的调度策略也要考虑网络和设备条件在开始下载之前。对于更大的更新,优先 Wi-Fi连接 避免使用蜂窝数据,后者可能导致下载不完整。

电池寿命是另一个关键因素。更新应该只在设备有足够的电池寿命才能完成安装时才进行。Capgo允许您编程这些检查,确保更新只在条件理想时才启动。一旦这些基础设定就位,您就可以专注于为不同用户组优先更新。

为不同用户组优先更新

Capgo提供了工具来为各种用户群组定制更新策略,使用单独的通道。这一方法确保更新以每个群组的需求为准。

用户群组通道类型__CAPGO_KEEP_0__
__CAPGO_KEEP_1____CAPGO_KEEP_2____CAPGO_KEEP_3__
__CAPGO_KEEP_4____CAPGO_KEEP_5____CAPGO_KEEP_6__
__CAPGO_KEEP_7____CAPGO_KEEP_8____CAPGO_KEEP_9__

__CAPGO_KEEP_10__ [9]__CAPGO_KEEP_11__ 控制更新过程.

对于较简单的应用,建议使用单独的渠道。对于拥有多样化用户群的应用,考虑结合多种策略来满足各个需求。

测试和监控更新计划

一旦您设置了更新计划策略,接下来就是确保一切顺利地运行,发布给用户之前。测试和监控是关键步骤,能够及早捕捉潜在问题,确保更新体验顺畅。

如何测试更新计划

测试 预定更新 需要一个与生产环境非常相似的环境。这样可以确保在测试过程中遇到的任何问题都可能反映真实世界的场景。

开始测试之前,您需要特定的工具和软件版本。您的测试环境应该包括:

  • Capacitor CLI 版本 6.0 或更高
  • Node.js 16.0 或更高
  • 最新版本 Capgo 插件
  • 像 Cypress 或 Appium 这样的自动化测试框架 CypressAppium 自动化测试

重点关注以下关键领域的测试: 更新检测、下载、安装和回滚。每个阶段应满足严格的性能和可靠性标准。测试类型

targetLanguage重点领域目标指标
更新检测版本检查响应时间约434ms
下载过程包下载包大小约5MB,下载时间约114ms
安装更新应用成功集成
回滚版本回滚成功回滚

请注意配置细节,因为文件中的版本号不匹配可能会干扰更新过程。确保所有版本号与您的部署设置一致。 capacitor.config.json 此外,请确保只在特定条件下触发更新,例如应用程序处于后台或Wi-Fi可用时。模拟中断场景,如网络中断,来测试系统的韧性。

彻底测试是有效性能跟踪的前提条件,尤其是在更新发布后。

跟踪更新性能

测试完成后,重点转向监控更新在实时环境中的表现。这一步对于维护可靠的更新系统至关重要。

__CAPGO_KEEP_0__提供实时分析,立即为您提供更新性能的见解。通过其仪表板,您可以跟踪关键指标,如更新成功率、下载速度和用户参与度模式等。

“实时跟踪更新成功率和用户参与度” - Capgo

Capgo的数据突出了优化的更新系统可以实现的成就。例如,95%的活跃用户通常在24小时内更新,平台报告了82%的全球更新成功率。 [8]

Capgo’s data highlights what a well-optimized update system can achieve. For example, 95% of active users are typically updated within 24 hours, and the platform reports an 82% global success rate for updates [8]__CAPGO_KEEP_0__

Error tracking is another valuable feature. Capgo captures logs and metrics, helping you identify patterns in failed updates or slow downloads before they escalate. If an update creates unexpected issues, Capgo’s one-click rollback feature allows you to quickly revert to a previous version.

“如果需要,任何以前版本的单击回滚” - Capgo [8]

为了进一步优化您的更新策略,监控不同用户段和设备类型的性能。Capgo的 频道系统 让您针对特定群组进行阶段性发布,减少广泛问题的风险。设置警报来监控关键指标,例如高失败率或异常慢下载,方便您及时解决问题。持续监控不仅有助于快速解决问题,还可以改进您的更新过程,随着时间的推移,性能会更好,用户也会更高兴。

最佳实践和高级方法

一旦您掌握了基本的调度和监控,时刻探索高级策略来让您的OTA更新系统达到下一个水平。这些方法可以改进性能、减轻服务器负担和加强安全性。

使用分段和时间更新

分段发布是一种聪明的方式来减少风险并更有效地管理服务器资源。您不必一次性将更新推送给所有人,而是可以控制发布的速度和时间,确保更平滑的过程。

利用Capgo的频道系统来管理这些分段的发布。例如,先从一小群beta用户开始测试更新。等你对其有信心后,可以逐步扩大发布到更大的用户群中。

基于时间的部署是另一个有用的策略。通过在非高峰时间-例如晚上或周末-预订更新,可以最小化对用户工作流的干扰。这对于商业应用尤其重要,因为可用性是关键。

Capgo结合了 CloudflareSupabase 来可靠地处理高容量的发布。您也可能考虑24小时的采用周期,目标是达到95%的活跃用户。这一方法给你足够的时间来监控每个阶段,同时保持快速的部署速度。 [12]减小更新包的大小

更小的更新包意味着更快的下载和更少的对用户带宽的压力。一个有效的方法是delta更新,它只发送自上一个版本以来发生的变化,从而减少传输的数据量。

使用带有重试机制的传输协议也是非常重要的。这些确保更新可以在下载中断时恢复到上一次的位置。 [11].

设置性能目标以提高用户体验。例如,目标是通过CDN下载5MB包的速度小于500ms,交付时间小于150ms。这些基准确保用户在更新时面临的延迟最小,补充了高效的调度实践。 [11].

__CAPGO_KEEP_0__是指Capgo

维持安全性和合规性

在您的更新过程中,安全性应该是首要考虑的问题。通过端到端加密保护您的更新,以确保安全的传输和存储。这在今天的联网世界中是不可谈判的。

定期安全审计和渗透测试是识别和修复漏洞的关键,防止漏洞被利用 [13]远程攻击的增加——2023年汽车网络攻击的95%以上——凸显了强大的防御措施的必要性 [13].

近期汽车行业的事件表明,快速响应漏洞的重要性 [13]为了保持领先地位,实施多层安全监控系统并制定明确的应急响应协议:

警报级别触发器响应动作
异常访问模式立即调查并记录发现
中等多次操作失败暂时停止密钥使用
已确认被攻破立即更换密钥
严重已知漏洞正在被利用立即更换所有系统密钥

安全措施应涵盖数据加密、安全存储、强制 HTTPS 连接和基于角色的访问控制等方面。定期进行 SSL/TLS 验证和身份验证测试将有助于确保这些保护措施有效。

最后,保持用户知情和参与。提供关于即将到来的更新的明确通知,详细说明发生了什么变化以及用户可能需要采取的任何行动 [11]为用户提供选项,允许他们预订或延迟更新,这不仅会改善他们的体验,还有助于满足监管要求

概要和下一步

您已经探索了OTA调度工具的全部范围,了解了如何使用Capgo高效地管理更新 - 平衡速度、安全性和用户体验。从安装和配置到高级发布策略和安全措施,这些技术使您成功。

有效的调度关键在于从小开始,监控性能指标,并逐渐扩大。例如,结合一个经过充分规划的发布和可靠的基础设施,实现95%的采用率在24小时内是完全可能的 [1]这些实践确保 smooth updates 同时保持高性能。

“Capgo解决了Capacitor应用程序开发人员面临的一个重大问题:如何快速部署更新而不需要经过繁琐的应用商店流程。它做得非常出色,提供了一个强大的解决方案。” - Thomas Sanlis, Uneed Review [2]

Capgo的简单性是其突出的特点之一。在2025年4月,来自Uneed的Thomas Sanlis展示了它的易用性。没有任何Capacitor经验,他在约20分钟内安装了Capgo,并在Nuxt 3项目中进行了测试。他然后模拟了一个bug修复,编辑了主页的文本并重新部署了更新 - 所有这一切在一分钟内就完成了 准备好发布更新了吗?开始使用一个 15天免费试用 [2].

15天免费试用 15天免费试用 To explore Capgo 的调度功能并了解它们如何与您的应用需求相匹配 [2]. 当您准备部署时,CLI 命令 npx @capgo/cli@latest bundle upload --channel=production 使部署过程变得顺畅 [2].

跟踪更新采用率、设置自动错误跟踪以快速回滚以及使用分阶段发布来控制交付 . 确保您的应用程序确认更新,如前所述 [1]在 OTA 更新的不断演变中,__CAPGO_KEEP_0__ 作为可靠的长期解决方案而脱颖而出。其开源基础和遵守苹果和安卓指南的兼容性确保它将来也能满足您的需求 [4].

立即开始实施这些策略以使您的更新过程更加高效并保持用户满意。Capgo 的工具将有助于您简化部署并提高整体体验

Start implementing these strategies today to make your update process more efficient and keep your users satisfied. Capgo’s tools are here to help you streamline deployments and enhance the overall experience.

::: faq

__CAPGO_KEEP_0__ 如何为 __CAPGO_KEEP_1__ 应用程序保管 OTA 更新的安全性

How does Capgo keep over-the-air updates secure for Capacitor apps?

Capgo 保管 OTA (OTA) 更新的安全性 Capacitor 应用 通过 端到端加密,确保更新数据在创建到用户设备交付期间始终受到保护。这种方法防止了在传输过程中任何拦截或篡改。

为了进一步加强安全性,Capgo 使用了先进的密钥管理技术。通过实施 加密算法 如RSA-4096和AES-256,__CAPGO_KEEP_0__ 安全地生成和存储密钥。每个更新也会被验证并监控其完整性之前部署,添加了另一个保护层。

这些措施在位后,开发者可以自信地交付更新,保护用户数据,同时满足平台安全标准。

:::

What are the best practices for testing and monitoring scheduled updates with Capgo?

如何测试和监控Capgo 中的预定更新?

  • 为了使__CAPGO_KEEP_0__ 中的预定更新尽可能顺畅和有效,请记住以下实用建议: 通过使用差异更新和压缩等方法,不仅可以加快下载速度,还可以帮助减少用户启动应用时的延迟。
  • 计划在非高峰时间更新 以最小化中断。将此与分阶段发布相结合,以逐渐引入更改。这有助于在实时监控性能并快速修复任何问题时,监控性能并快速修复任何问题。
  • 利用 实时分析 来跟踪更新的性能并衡量用户参与度。添加自动回滚功能确保失败的更新可以快速恢复,保持用户体验smooth和无中断。

通过遵循这些步骤,开发人员可以高效地管理更新,同时保持用户满意。 :::

::: faq

如何使用Capgo的频道系统来为不同用户组优先更新?

使用Capgo的频道系统,您可以通过创建特定的频道,如 生产, 测试, 或者 测试. 这个方法允许您向目标用户分发更新、测试新功能、快速推送紧急修复 - 无需等待应用商店审批。

您还可以分配角色,如 管理员, 开发者, 或者 查看者 来管理每个频道的访问权限和权限。这一结构有助于分阶段测试并确保更新逐步有效地部署到您的用户。

Keep going from Capgo Plugin: Scheduling Updates Tutorial

如果您正在使用 Capgo Plugin: Scheduling Updates Tutorial 为安全和合规性规划,连接它 加密 加密的实现细节 合规 合规的实现细节 Capgo 安全扫描器 Capgo 安全扫描器的产品工作流程 Capgo 安全 Capgo 安全的产品工作流程 Capgo 信任中心 Capgo 信任中心的产品工作流程

实时更新Capacitor应用

当web层bug处于活跃状态时,通过Capgo将修复推送到应用,而不是等待几天的应用商店审批。用户在后台接收更新,而原生更改仍在正常审批路径中。

立即开始

最新博客

Capgo为您提供创建真正专业的移动应用所需的最佳见解。