需要更快的 应用程序更新 没有App Store延迟? Capgo 让您即刻向用户安全地推送Over-the-Air(OTA)更新。跳过App Store审查,轻松保持应用程序最新状态。
Key Takeaways:
- 什么是Capgo? An open-source platform for live updates in Capacitor apps。
- Why OTA Updates? 节省时间、改善用户体验并快速修复bug。
- How to Get Started?
- Install the Capgo 插件:
npm install @capgo/capacitor-updater - 配置您的应用程序使用一个 API 密钥。
- 使用“生产”或“beta”频道进行目标发布。
- Install the Capgo 插件:
- 高级功能: 端到端加密、错误处理和CI/CD集成。
Capgo 的文档(capgo.app/docs)提供了从安装到高级配置的逐步指南,帮助您实现无缝更新。
Capgo上下文:Capgo UI中的HTML文本片段(父级键`submitting_a_pr_to_capgo`)。页面/区域:Capgo营销网站。角色:网站副本句子。见于:contributing.astro页面。保留Capgo产品/品牌和开发者术语的原始形式。

使用 Capgo 文档
有效地浏览文档对于与 OTA 更新一起工作至关重要。 Capgo 文档提供了详细的指导,帮助您将实时更新集成到 Capacitor 应用中。
找到文档的位置
您可以访问 Capgo 文档 capgo.app/docs [1]。它根据特定目的组织成各个部分:
| 部分 | 目的 | 关键话题 |
|---|---|---|
| 开始 | 初始设置 | 安装步骤 API key setup |
| 配置 | 核心设置 | 插件配置、环境设置 |
| API 参考 | 技术细节 | 方法、参数、返回值 |
| 安全性 | 保护措施 | 加密设置、签名验证 |
| 故障排除 | 问题解决 | 常见问题、诊断工具 |
重要术语和概念
以下是您将遇到的关键术语:
- 频道上下文:Capgo发布频道功能名称。页面/区域:Capgo解决方案营销页面。角色:短的UI标签或导航项。见于:页面解决方案/白标签.astro。消息键`solutions_white_label_visual_cell2_value` (解决方案白标签视觉单元2值)。 [4].
- :这些是用于控制版本分发的更新流。例如,您可以设置“生产”、“beta”和“测试”频道,以满足不同用户组的需求更新策略 [1].
- :这些定义了如何分发和应用更新。选项包括自动下载、安装时间和用户提示应用状态监听器 [4].
- :这些组件跟踪应用程序是否处于前台或后台: Packaged update files containing your app’s new version, including assets, code changes, and configuration updates [4].
:包含应用程序新版本的打包更新文件,包括资产、Code更改和配置更新
该文档提供了示例 code 来简化集成。以下是使用 TypeScript/JavaScript 的基本示例:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Initialize the updater
await CapacitorUpdater.notifyAppReady()
对于更复杂的用例,文档包含了现实世界的示例 [2][3],例如:
- 切换渠道进行 A/B 测试
- 自定义更新流程,包括用户提示
- 处理错误并实现回滚
- 将更新与 CI/CD pipeline 集成
每个教程都突出了性能考虑和安全方面,帮助您做出明智的决定。文档定期更新,以包含最新功能和最佳实践 [1].
对于实现细节,请查看下一个设置指南。
设置 OTA 更新
在 Capgo 中设置 OTA 更新,以简化您的部署过程。遵循这些步骤和提示,配置过程将更加顺畅。
基本设置步骤
首先在您的Capgo项目中安装Capacitor插件:
npm install @capgo/capacitor-updater
npx cap sync
接下来更新您的 capacitor.config.json 文件中填入您的 Capgo API密钥:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": true,
"apiKey": "YOUR_API_KEY_HERE"
}
}
}
然后,在您的应用程序的主文件中初始化更新器以检测更新:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.notifyAppReady();
完成此步骤后,您可以设置通道来管理不同的更新流:
更新通道设置
组织您的 更新通道 以适应您的部署需求:
| 通道类型 | 目的 | 使用场景 |
|---|---|---|
| 生产环境 | 稳定版本 | 普通用户 |
| 测试环境 | 预发布测试 | QA团队和beta测试者 |
| beta | 功能测试 | 早期采用者 |
要上传一个更新到一个特定的频道,使用 Capgo CLI:
npx @capgo/cli upload -c production
更新方法
Capgo 提供了两种主要方式来处理更新:
自动更新
通过设置 autoUpdate: true 在您的配置中启用自动更新。这确保了更新在后台应用,无需开发者额外的努力。
手动更新 为了更好的控制,您可以手动管理更新。使用以下模式来检查并应用更新:
// Check for updates
const update = await CapacitorUpdater.download();
// Install when ready
if (update) {
await CapacitorUpdater.set(update);
}
对于关键更新,您可以在进行之前提示用户:
if (update.version > currentVersion) {
const userConsent = await showUpdatePrompt();
if (userConsent) {
await CapacitorUpdater.set(update);
}
}
您还可以针对特定用户组使用自定义ID和频道:
await CapacitorUpdater.setCustomId('beta-tester-123');
await CapacitorUpdater.setChannel('beta');
最后,请确保包括错误处理和回滚选项:
try {
await CapacitorUpdater.set(update);
} catch (error) {
await CapacitorUpdater.reset(); // Revert to the last working version
console.error('Update failed:', error);
}
经过这些步骤,您的OTA更新系统就准备好了。探索高级设置来定制更新过程。
sbb-itb-f9944d2
高级设置
提高您的 Capgo OTA更新 设置安全性措施和灵活的更新配置,确保安全和smooth的更新体验,同时满足应用商店的指南。
安全功能
Capgo 提供强大的安全协议来保护您的更新包并安全地将它们传递给用户。该平台使用端到端加密和公钥密码学来处理所有更新 [1]。以下是如何启用关键安全功能的说明:
// Enable bundle verification
await CapacitorUpdater.setVerifyBundles(true);
// Configure encryption settings
await CapacitorUpdater.configure({
encryption: {
enabled: true,
failOnError: true
}
});
更新包保护系统的关键组件包括:
| 安全功能 | 描述 | 实现 |
|---|---|---|
| 包完整性 | 使用加密签名验证包的真实性 | 通过调用setVerifyBundles()自动启用 |
| 回滚保护 | 如果更新失败,则回滚到稳定版本 | 集成到更新过程中 |
| 访问控制 | 基于角色的权限管理更新 | 通过控制台配置 |
更新行为设置
通过事件监听器和配置选项来定制更新的传递和安装方式。使用这些设置来调整更新的时间和用户交互:
// Listen for when an update is available
CapacitorUpdater.addListener('updateAvailable', async (info) => {
if (info.version > currentVersion) {
// Custom update logic based on app state
const isAppInactive = await checkAppState();
if (isAppInactive) {
await CapacitorUpdater.download();
}
}
});
// Monitor download completion
CapacitorUpdater.addListener('downloadComplete', (info) => {
console.log(`Update ${info.version} ready to install`);
// Implement custom installation timing if desired
});
对于分阶段发布,您可以通过控制台或code直接配置更新的分发:
// Set custom update conditions for a gradual rollout
await CapacitorUpdater.configure({
rollout: {
percentage: 25, // Start with 25% of users
timeInterval: 24 // Increase rollout percentage every 24 hours
}
});
为了处理特定版本相关的行为:
// Handle version-specific update failures
CapacitorUpdater.addListener('updateFailed', async (info) => {
if (info.error.code === 'VERSION_MISMATCH') {
await CapacitorUpdater.reset(); // Revert to the last stable version
// Optionally, handle error notification here
}
});
这些设置确保更新可靠,同时允许您根据应用程序的需求来定制过程。始终在Capgo的测试环境中彻底测试更新,然后才能将其推送到生产环境 [2].
问题解决指南
Capgo的错误日志和内置工具有助于解决OTA更新的挑战,同时确保您的应用程序符合商店的要求
常见问题和解决方案
以下是典型的问题和解决方案
-
下载失败 症状:下载过程会卡住或无法完成 解决方案:检查您的网络连接,确认更新URL有效,并添加重试机制来处理中断
-
版本冲突 症状:更新安装失败或导致应用程序不稳定。 解决方案:使用清晰的版本号避免冲突并实现回滚选项以确保安全。
-
安装错误 症状:更新失败或触发自动回滚。 解决方案:确保在更新成功后调用
notifyAppReady()以防止回滚。
对于大于50MB的更新,分割它们为更小的文件可以在Android设备上提高性能 [5].
使用详细的错误日志来捕捉问题。例如,实现此监听器:
CapacitorUpdater.addListener('updateFailed', (error) => {
console.log(`Update failed: ${error.code}`);
logUpdateError({
errorCode: error.code,
deviceInfo: error.device,
timestamp: new Date().toISOString()
});
});
通过结合错误日志与预检查,您可以有效地处理这些问题,之后再关注合规性。
应用商店规则
技术修复不足 - 应用更新还需要符合应用商店的指南
苹果应用商店要求:
- 用户透明度: 清晰地告知用户更新的内容并获得他们的同意
- 核心功能: 确保您的应用程序的主要功能保持不变
- 安全措施: 使用安全的方法传输更新
安卓实现:
await CapacitorUpdater.configure({
updateNotification: {
title: "Update Available",
message: "A new version is available. Please update to access the latest features.",
requireUserConsent: true
}
});
最佳实践:
- : 版本控制: 分步发布更新以减少冲突。
- 更新通知: 提供清晰易用的更新提示。
- 安全性context: 企业产品/价格页面。角色:UI标签。见于:企业.astro页面。消息键 `enterprise_hero_security_label` (企业英雄安全性标签)。
: 验证捆绑包的完整性并使用加密保护数据。
概要
Capgo’s documentation provides clear instructions for integrating OTA updates into Capacitor apps while staying compliant with app store regulations.
Capgo 的文档提供了明确的指南,帮助开发者在 __CAPGO_KEEP_1__ 应用中集成 OTA 更新,同时遵守应用商店的规定。 使用 __CAPGO_KEEP_0__ 的资源,开发者可以实现以下关键功能: 端到端加密 和, 从初始设置到高级配置的所有内容 [1].
关键实施领域
| 方面 | 重点关注 | 在哪里找到它 |
|---|---|---|
| 安全性 | 加密和完整性检查 | 安全功能 部分 |
| 合规性 | 满足苹果和安卓的要求 | App Store 规则 指南 |
| 更新管理 | 版本控制和回滚选项 | 更新方法 指南 |
| 错误处理 | 日志和故障排除步骤 | 解决方案指南 |
Capgo的这些区域构成了其更新管理系统的骨架。
Capgo的CLI和分析工具简化了 在应用程序整个生命周期中管理更新 的过程 [1].
For further support, you can explore additional resources like API 文档, 样例项目, 和 社区论坛 [2].
继续阅读 How to Use Capgo 文档进行 OTA 更新
如果您正在使用 How to Use Capgo 文档进行 OTA 更新 来规划安全性和合规性,连接它与 加密 加密的实现细节 合规性 为 Compliance 的实现细节 Capgo 安全扫描器 为 Capgo 安全扫描器 的产品工作流程 Capgo 安全 为 Capgo 安全 的产品工作流程 Capgo 信任中心 为 Capgo 信任中心 的产品工作流程