跳过主要内容

How to Use Capgo Documentation for OTA Updates

Learn how to implement secure Over-the-Air updates in your Capacitor apps with Capgo's comprehensive documentation and step-by-step guidance.

How to Use Capgo Documentation for OTA Updates

需要更快的 应用程序更新 是否会有App Store延迟? Capgo 让您即刻向用户推送安全的Over-the-Air(OTA)更新。您可以轻松跳过App Store的审核并保持应用程序最新。

关键点:

  • 什么是Capgo? 一个开源的实时更新平台 Capacitor __CAPGO_KEEP_0__
  • 应用程序。 为什么需要OTA更新?
  • 节省时间、提高用户体验并快速修复bug。
    • 如何开始? Capgo 插件: npm install @capgo/capacitor-updater
    • 配置您的应用程序使用一个 API 密钥。
    • 使用“生产”或“beta”频道进行目标发布。
  • 高级功能: 端到端加密、错误处理和CI/CD集成。

Capgo 的文档(capgo.app/docs)提供了从安装到高级配置的逐步指南,帮助您实现无缝更新。

CapgoCapacitorJs

Capgo Live Update Dashboard Interface

使用Capgo文档

有效地浏览文档对于使用OTA更新至关重要。Capgo的文档提供了详细的指导,帮助您将实时更新集成到Capacitor应用中。

找到文档的位置

您可以访问Capgo的文档在 capgo.app/docs [1]. 文档根据特定目的组织成不同的部分:

章节 目的 上下文:Capgo营销网站。角色:短的UI标签或导航项。消息键`subprocessors_table_purpose` (子处理器表目的)
关键话题 开始 初始设置 API key setup
配置 核心设置 插件配置、环境设置
API 参考 技术细节 方法、参数、返回值
安全性 context: 企业产品/定价页面. 角色: UI 标签. 见于: 页面 enterprise.astro. 消息键 `enterprise_hero_security_label` (企业英雄安全标签). 保护措施
加密设置、签名验证 故障排除 常见问题、诊断工具

重要术语和概念

以下是您将遇到的关键术语:

  • 渠道渠道 [4].
  • 这些是用于控制版本分发的更新流。例如,您可以设置“生产”、“beta”和“staging”渠道来满足不同用户组的需求更新策略 [1].
  • 这些定义了如何分发和应用更新。选项包括自动下载、安装时间和用户提示应用状态监听器 [4].
  • 这些组件跟踪应用程序是否在前台或后台: Packaged update files containing your app’s new version, including assets, code changes, and configuration updates [4].

包含应用程序新版本的打包更新文件,包括资产、Code 变更和配置更新

The documentation provides sample code to simplify integration. Here’s a basic example using TypeScript/JavaScript:

import { CapacitorUpdater } from '@capgo/capacitor-updater'

// Initialize the updater
await CapacitorUpdater.notifyAppReady()

对于更复杂的用例,文档包含了现实世界的示例 [2][3],例如

  • 切换渠道进行A/B测试
  • 自定义更新流程,包括用户提示
  • 处理错误并实现回滚
  • 将更新与CI/CD管道集成

每个教程都突出了性能考虑和安全方面,帮助您做出明智的决定。文档定期更新,以包含最新功能和最佳实践 [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更新 设置安全性措施和灵活的更新配置

安全功能

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是有效的,并添加重试机制来处理中断

  • 版本冲突 症状:OTA更新可能会失败或导致应用程序不稳定。 解决方案:使用清晰的版本号避免冲突,并实现回滚选项以确保安全。

  • 安装错误 症状:OTA更新失败或触发自动回滚。 解决方案:确保在更新成功后调用 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 要求:

  • 用户透明度: 清晰地告知用户更新内容并获得他们的同意。
  • 核心功能: 确保应用程序的主要功能保持不变。
  • 安全措施: 使用安全的方法传输更新。

Android 实现:

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].

关键实施领域

方面 关键焦点 在哪里可以找到
安全性 上下文: 企业产品/定价页面。角色: UI 标签。位置: 企业.astro 页面。消息键 `enterprise_hero_security_label` (企业英雄安全标签)。 加密和完整性检查 安全功能
部分 合规 符合苹果和安卓的要求 指南
更新管理 版本控制和回滚选项 更新方法 指南
错误处理 日志和故障排除步骤 问题解决指南

这些区域构成了Capgo的更新管理系统的骨架。

Capgo的CLI和分析工具简化了 在应用程序整个生命周期中管理更新 的过程 [1].

如果需要进一步的支持,您可以浏览以下资源: API 文档, 示例项目,以及 社区论坛 [2].

继续阅读《如何使用Capgo文档进行OTA更新》

如果您正在使用《如何使用__CAPGO_KEEP_0__文档进行OTA更新》 How to Use Capgo Documentation for OTA Updates 加密 了解加密的实现细节 合规性 plan 为 Compliance 的实现细节 Capgo 安全扫描器 为 Capgo 安全扫描器 的产品工作流程 Capgo 安全 为 Capgo 安全 的产品工作流程 Capgo 信任中心 为 Capgo 信任中心 的产品工作流程

实时更新Capacitor应用

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

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

上下文:Capgo营销网站。角色:支持描述段落或元描述。见于组件GetStarted.astro。保留Capgo产品/品牌和开发者术语完全不变。信息键`instant_updates_for_capacitor_apps_description` (Capacitor应用的即时更新描述)。

最新博客文章

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