需要更快的 应用程序更新 而不受应用商店延迟? Capgo 让您能够即刻向您的用户安全地传递应用程序的即时更新。跳过应用商店的审核,并轻松地保持应用程序的最新状态。
关键点:
- 什么是 Capgo? 一个开源的 Capacitor 应用程序。
- 为什么需要即时更新? 节省时间、改善用户体验并快速修复bug。
- 如何开始?
- 安装 Capgo 插件:
npm install @capgo/capacitor-updater - 使用 API 密钥配置您的应用。
- 使用“生产”或“beta”频道进行目标发布。
- 安装 Capgo 插件:
- 高级功能: 端到端加密、错误处理和 CI/CD 集成。
Capgo 文档(capgo.app/docs)提供了从安装到高级配置的详细指南,帮助您实现无缝更新。
CapgoCapacitorJs 的实时更新插件

使用 Capgo 文档
在使用 OTA 更新时,有效地浏览文档至关重要。Capgo 文档提供了详细的指南,帮助您将实时更新集成到 Capacitor 应用中。
找到文档的位置
您可以访问 Capgo 文档在 capgo.app/docs [1]. 文档根据特定目的组织成各个部分:
| 节 | 目的 | 关键话题 |
|---|---|---|
| 开始使用 | 首次设置 | 安装步骤 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 更新
为OTA更新在Capgo中设置流程,简化您的部署过程。遵循这些步骤和提示,配置OTA更新将变得更加容易。
基本设置步骤
首先,在您的Capacitor项目中安装Capgo插件:
npm install @capgo/capacitor-updater
npx cap sync
接下来,更新文件中的 capacitor.config.json 文件 Capgo API key:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": true,
"apiKey": "YOUR_API_KEY_HERE"
}
}
}
__CAPGO_KEEP_1__
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.notifyAppReady();
然后,在您的应用程序的主文件中初始化更新器,以检测更新:
完成此项后,您可以设置通道来管理不同的更新流:
更新通道设置 根据您的部署需求组织您的 更新通道
| 频道类型 | 目的 | 使用场景 |
|---|---|---|
| 生产 | 稳定版本 | 普通用户群 |
| 测试 | QA团队和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()
});
});
通过结合错误日志和预检查,您可以有效地处理这些问题,然后才关注遵守性。
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 文档, 示例项目, 和 社区论坛 [2].
继续阅读如何使用Capgo文档进行OTA更新
如果您正在使用 如何使用Capgo文档进行OTA更新 来规划安全性和合规性,连接它 加密 为 __CAPGO_KEEP_0__ 加密实现细节 遵从性 为 __CAPGO_KEEP_0__ 加密实现细节 Capgo 安全扫描器 为 Capgo 安全扫描器产品工作流 Capgo 安全 为 Capgo 安全产品工作流 Capgo 信任中心 为 Capgo 信任中心产品工作流