需要更快的 应用程序更新 而无需等待应用商店? Capgo 让您能够立即将安全的__CAPGO_KEEP_1__OTA更新传递给您的用户。
跳过应用商店的审查并轻松保持应用程序最新。
- What is Capgo? 一个开源平台用于实时更新 Capacitor 应用程序。
- 为什么实时更新? 节省时间,改善用户体验并快速修复错误。
- 如何开始?
- 安装 Capgo:
npm install @capgo/capacitor-updater - Configure your app with an API key.
- 配置您的应用程序使用一个
- 安装 Capgo:
- __CAPGO_KEEP_0__ 密钥。使用通道“生产”或“beta”进行目标发布。
Capgo’s 文档(capgo.app/docs) 提供了设置、安全性和故障排除的逐步指南。从安装到高级配置,它是您实现无缝更新的必备指南。
Capgo, Capgo Live Update

使用 Capgo 文档
有效地浏览文档对于与 OTA 更新一起工作至关重要。Capgo 文档提供了详细的指南,帮助您将实时更新集成到 Capacitor 应用中。
找到文档的位置
您可以访问 Capgo 文档于 capgo.app/docs [1]. 根据特定目的进行组织:
| Section | 目的 | 关键话题 |
|---|---|---|
| 入门 | 初始设置 | 安装步骤 API 密钥设置 |
| 配置 | 核心设置 | 插件配置、环境设置 |
| API 参考 | 技术细节 | 方法、参数、返回值 |
| 安全 | 保护措施 | 加密设置、签名验证 |
| 故障排除 | 问题解决 | 常见问题、诊断工具 |
重要术语和概念
以下是您可能遇到的关键术语:
- 频道: 这些是用于控制版本分发的更新流。例如,您可以设置“生产”,“beta”和“测试”频道,以满足不同用户组的需求 [4].
- 更新策略: 这些定义了如何更新和应用更新。可选项包括自动下载、安装时间和用户提示 [1].
- 应用状态监听器: 这些组件跟踪应用是否在前台或后台 [4].
- 捆绑包: 包含应用新版本的打包更新文件,包括资产、code 变更和配置更新 [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 更新以简化您的部署过程。 请遵循这些步骤和提示进行无忧的配置。
基本设置步骤
首先,在您的 Capacitor 项目中安装 Capgo 插件:
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);
}
__CAPGO_KEEP_0__ OTA更新
sbb-itb-f9944d2
高级设置
提高您的 Capgo OTA update 安全功能
设置
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()
});
});
通过结合错误日志与预检查,您可以有效地处理这些问题,然后才关注遵守性。
App Store 规则
技术修复不足 - 您的更新也需要与应用商店指南保持一致。
Apple App Store 要求:
- 用户透明度: 清楚地告知用户更新的内容并获得他们的同意。
- 核心功能: 确保您的应用程序的主要功能保持完整。
- 安全措施: 使用安全方法传输更新。
安卓实现:
await CapacitorUpdater.configure({
updateNotification: {
title: "Update Available",
message: "A new version is available. Please update to access the latest features.",
requireUserConsent: true
}
});
最佳实践:
- 版本控制: 分段发布更新以减少冲突。
- 更新通知: 提供清晰易用的更新提示。
- 安全: 验证捆绑包的完整性并使用加密保护数据。
概要
本节总结了指南的主要思想。
Capgo的文档提供了清晰的指南,帮助开发者在遵守应用商店规定的同时,将Capacitor应用程序与OTA更新集成。
使用Capgo的资源,开发者可以实现关键功能,如 端到端加密 和 CI/CD集成,涵盖从初始设置到高级配置的所有内容 [1].
关键实施领域
| 方面 | 重点关注 | 哪里可以找到 |
|---|---|---|
| 安全 | 数据加密和完整性检查 | 安全功能 章节 |
| 合规 | 满足苹果和安卓要求 | App Store 规则指南 指南 |
| 更新管理 | 版本控制和回滚选项 | 更新方法指南 指南 |
| 错误处理 | 日志和故障排除步骤 | 问题解决指南 |
这些区域构成了Capgo的更新管理系统的骨架。
Capgo的CLI和分析工具简化了 应用程序的更新管理 整个应用程序的生命周期 [1].
对于进一步的支持,您可以浏览 API文档, __CAPGO_KEEP_0__示例项目,和 __CAPGO_KEEP_0__社区论坛 [2].