跳过主要内容

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审查,轻松保持应用程序最新状态。

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”频道进行目标发布。
  • 高级功能: 端到端加密、错误处理和CI/CD集成。

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

Capgo上下文:Capgo UI中的HTML文本片段(父级键`submitting_a_pr_to_capgo`)。页面/区域:Capgo营销网站。角色:网站副本句子。见于:contributing.astro页面。保留Capgo产品/品牌和开发者术语的原始形式。

Capgo Live Update

使用 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 信任中心 的产品工作流程

实时更新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 为您提供了创建真正专业的移动应用所需的最佳见解。