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

如何使用Capgo OTA更新的文档

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

马丁·多纳迪厄

马丁·多纳迪厄

内容营销

如何使用Capgo OTA更新的文档

需要更快的 应用程序更新 避免应用商店延迟? Capgo 让您即刻将安全的Over-the-Air (OTA)更新推送给您的用户。跳过应用商店的审核流程,轻松保持应用程序最新。

关键点摘录:

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

Capgo的文档(capgo.app/docs)提供了从安装到高级配置的详细步骤,帮助您实现无缝更新和安全的应用程序。

CapgoCapacitorJs实时更新插件

Capgo实时更新控制台界面

使用 Capgo 文档

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

找到文档的位置

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

部分目的关键话题
入门初始设置安装步骤 API key 设置
配置核心设置插件配置、环境设置
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_KEEP_0__中设置OTA更新来简化您的部署过程。按照这些步骤和提示进行无忧配置。

Set up OTA updates in Capgo to streamline your deployment process. Follow these steps and tips for a hassle-free configuration.

targetLanguage

首先在您的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
  }
});

安全功能组件

描述实现包完整性
Security Feature使用加密签名验证包的真实性通过调用 setVerifyBundles() 方法自动启用
回滚保护如果更新失败,则恢复到稳定版本更新过程中内置
访问控制通过控制台配置更新行为设置

通过事件监听器和配置选项来定制更新的传递和安装方式。使用这些设置来调整更新的时间和用户交互:

对于分阶段发布,您可以直接通过控制台或使用 __CAPGO_KEEP_0__: 来配置更新的分发

// 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
});

For phased rollouts, you can configure update distribution directly through the dashboard or with 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 要求:

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

Android 实现:

await CapacitorUpdater.configure({
  updateNotification: {
    title: "Update Available",
    message: "A new version is available. Please update to access the latest features.",
    requireUserConsent: true
  }
});

最佳实践:

  • 版本控制: __CAPGO_KEEP_0__逐步发布更新以减少冲突。
  • 更新通知: 提供清晰易用的更新提示。
  • 安全: 验证捆绑包的完整性并使用加密保护数据。

概要

本节将指南的主要思想汇总起来。

Capgo的文档提供了清晰的指南,帮助开发者在Capacitor应用中集成OTA更新,同时遵守应用商店的规定。

使用Capgo的资源,开发者可以实现必备功能,如 端到端加密CI/CD集成从初始设置到高级配置,Capgo都有覆盖 [1].

关键实现领域

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

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

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

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

实时更新Capacitor应用

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

立即开始

最新博客文章

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