跳过主要内容

如何使用 Capgo OTA更新文档

了解如何在您的 Capacitor 应用程序中实现安全的 Capgo OTA更新的全面文档和逐步指南。

马丁·多纳迪尤

马丁·多纳迪尤

内容营销人员

如何使用 Capgo OTA更新文档

需要更快的 应用程序更新 而无需等待应用商店延迟? Capgo 让您即刻将安全的Over-the-Air (OTA)更新推送给您的用户。

Key Takeaways:

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

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

CapgoCapacitorJs插件Live更新

Capgo Live Update控制台界面

使用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管道集成

每个教程都突出了性能考虑和安全方面,帮助您做出明智的决定。 文档频繁更新以包含最新功能和最佳实践 [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);
}

通过这些步骤,您的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()
  });
});

通过结合错误日志与预检查,您可以有效地处理这些问题,然后才关注遵守性。

应用商店规则

技术修复不足 - 你的更新也需要与应用商店指南保持一致。

Apple App Store Requirements:

  • 用户透明度: 清晰地告知用户更新内容并获取他们的同意。
  • 核心功能: 确保您的应用程序的主要功能保持完整且经过审查。
  • 安全措施: 使用安全的方法传输更新。

Android 实现:

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

关键实施领域

方面关键关注点哪里可以找到
安全性加密和完整性检查安全功能 部分
合规性满足苹果和安卓要求应用商店规则 指南
更新管理版本控制和回滚选项更新方法 指南
错误处理日志和故障排除步骤问题解决指南

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

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

欲获得更多支持,请您可以探索以下资源 API文档, 示例项目, 和 社区论坛 [2].

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

如果您正在使用 如何使用 Capgo 文档进行 OTA 更新 来规划安全性和合规性,连接它 加密 加密的实现细节 合规 合规的实现细节 Capgo 安全扫描器 为Capgo安全扫描器产品工作流程而设计的 Capgo安全 为Capgo安全产品工作流程而设计的, Capgo信任中心 为Capgo信任中心产品工作流程而设计的。

实时更新 Capacitor 应用

当 web 层面 bug 活跃时,通过 Capgo 发送修复而不是等待几天的 app store 审批。用户在后台接收更新,而本机更改保持在正常审批路径中。

立即开始

最新博客文章

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