跳过主要内容
开发 移动 更新

如何使用 Capgo OTA 更新文档

了解如何在您的Capacitor应用中实现安全的CapgoOTA更新的方法。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销人员

如何使用Capgo文档进行OTA更新

需要更快的 应用程序更新 而无需等待应用商店? Capgo 让您能够立即将安全的__CAPGO_KEEP_1__OTA更新传递给您的用户。

跳过应用商店的审查并轻松保持应用程序最新。

  • What is Capgo? 一个开源平台用于实时更新 Capacitor 应用程序。
  • 为什么实时更新? 节省时间,改善用户体验并快速修复错误。
  • 如何开始?
    • 安装 Capgo: npm install @capgo/capacitor-updater
    • Configure your app with an API key.
    • 配置您的应用程序使用一个
  • __CAPGO_KEEP_0__ 密钥。使用通道“生产”或“beta”进行目标发布。

Capgo’s 文档(capgo.app/docs) 提供了设置、安全性和故障排除的逐步指南。从安装到高级配置,它是您实现无缝更新的必备指南。

Capgo, Capgo Live Update

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

实时更新 Capacitor 应用

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

立即开始

最新博客文章

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