版本标记
开发 移动 更新

Capacitor 应用程序中的版本标记

Capacitor 应用程序的版本标记基本知识,包括更新、同步和自动化的最佳实践。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销

Capacitor 应用程序中的版本标记

__CAPGO_KEEP_0__ 应用程序中的版本标记对于管理至关重要 Capacitor 在 iOS、Android 和 web 平台上,确保 smooth updates、跟踪变化并增强应用程序的可靠性。以下是一些关键信息:

  • 为什么它很重要: 跟踪更新、启用回滚并确保稳定的部署。
  • 语义版本: 使用 MAJOR.MINOR.PATCH 来表示破坏性更改、新增功能或 bug 修复。
  • 跨平台同步: 在 iOS、Android 和 web 平台上对齐版本号。 package.json自动化 Info.plist__CAPGO_KEEP_0__ build.gradle.
  • __CAPGO_KEEP_0__: 自动化更新 使用 npm 脚本和 CI/CD 工具。
  • 实时更新: 使用 Capgo 向 95% 的用户在 24 小时内提供更新。
  • Beta 管理: 使用结构化的频道管理 alpha、beta 和生产版本。

快速比较

功能 目的 示例
语义版本控制 清晰地跟踪变化 1.2.3 → 2.0.0
同步版本 跨平台统一 npx cap sync
自动化 加速版本更新 npm version patch
实时更新 快速用户采纳 Capgo在24小时内达95%
Beta渠道 控制测试阶段 1.3.0-beta.1

版本标记简化 app更新让用户感到满意,确保开发者可以有效地管理发布。

如何自动配置你的 Capacitor 项目

Capacitor 框架文档网站

在 Capacitor 中设置版本

为了确保你的 Capacitor app 在所有平台上都能保持一致的版本管理,遵循以下步骤。

设置版本号 package.json

文件是你的 app 版本详细信息的主要来源。以下是如何设置它的示例: package.json The

{
  "name": "your-app-name",
  "version": "1.2.3",
  "private": true,
  "dependencies": {
    "@capacitor/core": "5.5.0",
    "@capacitor/ios": "5.5.0",
    "@capacitor/android": "5.5.0"
  }
}

在更新版本号时,使用语义版本 (SemVer) 规则:

  • 主版本 (1.x.x): 引入破坏性更改。
  • 次版本 (x.2.x): 添加后向兼容的新功能。
  • 修订版本 (x.x.3): 修复 bug 或进行小幅改进。

保持平台版本的一致性

保持所有平台版本号的一致性对于顺利部署应用程序非常重要。每个平台都有自己的配置文件来管理版本号:

平台 配置文件 版本键
iOS Info.plist CFBundleShortVersionString
中国 build.gradle versionName
网络 package.json 版本

更新版本不跳一个给的网络酏置为一个给的安全酏置,请使用一个一个给的效果为一个给的安全效果。 package.json不跳一个给的网络酏置为一个给的安全酏置,请使用一个一个给的效果为一个给的安全效果。

npx cap sync

Using Capacitor CLI for Version Management

The Capacitor CLI 提供有用的命令来管理版本:

# Check the current version of Capacitor
npx cap --version

# Update Capacitor core and platform dependencies
npm install @capacitor/core@latest
npm install @capacitor/ios@latest
npm install @capacitor/android@latest

# Sync version changes to native platforms
npx cap sync

确保您的 Capacitor CLI 版本最新,确保与特定版本的功能兼容,减少潜在的不匹配。按照这些步骤可以帮助您在应用中维护正确的版本。

语义版本设置

语义版本基础

语义版本化(SemVer) 使用格式 主版本.次版本.修订版本,其中每个部分表示特定类型的更改:

版本组件 目的
主版本 引入 API 的破坏性更改
MINOR 添加了新的功能,保持与之前版本的兼容性
PATCH 修复了bug或提高性能而不破坏兼容性

这个系统确保开发者可以清晰地传达更新信息,同时在应用程序版本之间保持兼容性。例如,从 1.2.32.0.0 表示需要小心规划的重大、破坏性更新。

何时更新版本号

以下是如何决定哪个版本号需要更新的指南:

更新类型 何时使用 版本号变化示例
重大更新 对于破坏性API的更改或重大UI重设计 1.2.3 → 2.0.0
小型更新 当引入新功能或标记功能为过时时 1.2.3 → 1.3.0
补丁更新 对于bug修复或小型性能优化 1.2.3 → 1.2.4

“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!” - Rodrigo Mantica [1]

我们实践敏捷开发,@__CAPGO_KEEP_0__在持续交付给用户方面是 mission-critical!

现在让我们看看如何自动化这些更新以简化发布管理。

版本更新自动化 can save time and reduce errors in your Capacitor project. Here’s how to set it up:

  1. 可以节省时间并减少NPM项目中的错误。以下是如何设置它:

在你的 package.json 文件中添加这些脚本,轻松管理版本更新:

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. CI/CD 集成
    将版本更新集成到你的 CI/CD pipeline 中。Capgo 支持工具,如 GitHub Actions, GitLab CI,和 Jenkins,使其简单地自动化过程。

“@Capgo is a must-have tool for developers seeking productivity by bypassing lengthy bugfix reviews.” - Bessie Cooper [1]

“@__CAPGO_KEEP_0__ 是开发人员寻求提高生产力并绕过繁琐的 bug 修复审查的必备工具。” - Bessie Cooper

版本标签方法

Git 版本标签是可靠的跟踪 Capacitor 应用程序发布的方式。为了创建清晰和详细的标签,结合语义版本控制和简短的描述:

git tag -a v1.2.3 -m "Release v1.2.3: Added offline mode support"

为了保持团队内部的一致性,使用标准化的标签格式:

标签 格式 示例
发布版本 v[主版本].[次版本].[修订版本] v1.2.3
Beta 版本 v[版本号]-beta.[序号] v1.2.3-beta.1
发布候选版本 v[VERSION]-rc.[NUMBER] v1.2.3-rc.2

构建号整合

构建号有助于跟踪每个版本中的单个构建。对于 iOS 和 Android,提交每次都应增加构建号:

{
  "ios": {
    "version": "1.2.3",
    "build": "10234"
  },
  "android": {
    "version": "1.2.3",
    "versionCode": "10234"
  }
}

构建号应该始终增加,即使版本保持不变。这确保了每个应用商店提交都被唯一标识,同时保持版本清晰的用户体验。

Beta 版本管理

管理 Beta 版本需要一个结构化的过程来分发测试构建。Capgo’s 渠道系统 简化了以下步骤:

  1. 渠道设置

创建各个测试阶段的独立频道:

{
  "beta": {
    "version": "1.3.0-beta.1",
    "users": "beta-testers"
  },
  "production": {
    "version": "1.2.3",
    "users": "all"
  }
}
  1. 控制用户访问

设置权限来控制谁可以访问beta版本。这确保只有经过批准的测试者才能接收到beta版本,而生产用户则可以获得稳定的版本。

  1. 版本进展

使用清晰的版本进展系统来跟踪开发阶段:

阶段 版本格式 目的
Alpha 1.3.0-alpha.1 内部测试
Beta 1.3.0-beta.1 外部测试组
RC (Release Candidate) 1.3.0-rc.1 发布前最终测试
生产 1.3.0 公开发布

这种方法确保了充分的测试和开发阶段之间的smooth过渡,保持版本跟踪的组织和透明性。

应用程序版本显示

在应用程序中显示准确的版本信息对于保持用户知情并有效地管理更新至关重要。

获取版本号:Capacitor

您可以使用Capacitor和code来获取版本详细信息

import { App } from '@capacitor/app';

async function getAppInfo() {
  const info = await App.getInfo();
  console.log(`Version: ${info.version}`);
  console.log(`Build: ${info.build}`);
}

为了更简洁的方式,创建一个可重用的函数:

export const getVersionString = async () => {
  const info = await App.getInfo();
  return `v${info.version} (${info.build})`;
};

该函数简化了在应用程序界面中显示版本信息的过程。

版本UI实现

以下是如何将版本显示整合到设置组件中的示例:

@Component({
  selector: 'app-settings',
  template: `
    <div class="version-info">
      <span>Version: {{ versionString }}</span>
      <span *ngIf="updateAvailable" class="update-badge">
        Update Available
      </span>
    </div>
  `
})

常见的显示版本详细信息的位置包括:

位置 目的 实现
设置界面 完整版本和构建 详细版本信息
关于页面 基本版本显示 仅显示版本号
应用程序底部 最小化显示 简化版本字符串

除了显示版本信息外,集成更新检查系统还可以提高用户体验。

更新检查系统

An update check system ensures users have access to the latest features and fixes. Capgo provides real-time notifications and controlled update channels to manage this process:

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

async function checkForUpdates() {
  const current = await CapacitorUpdater.current();
  const latest = await CapacitorUpdater.getLatest();

  if (current.version !== latest.version) {
    await CapacitorUpdater.download({
      version: latest.version
    });
  }
}

Capgo提供实时通知和受控的更新通道来管理这个过程: [1]

“我们实践敏捷开发,@__CAPGO_KEEP_0__在持续交付给我们的用户方面是 mission-critical!” - Rodrigo Mantica

@Component({
  template: `
    <update-modal 
      [version]="newVersion"
      [features]="updateFeatures"
      (updateNow)="performUpdate()"
    />
  `
})

For enterprise apps, Capgo’s channel system allows you to control update distribution:

对于企业应用,__CAPGO_KEEP_0__的通道系统允许您控制更新分发: 更新类型 目标受众
生产 稳定版本 所有用户
Beta 预发布版本 测试组
关键 紧急修复 受影响用户

通过Capgo的分析仪表板来确保应用程序可靠性并跟踪更新性能。

版本管理解决方案

让我们深入了解高级版本管理解决方案。

版本工具选项

在选择版本控制工具时,应重点关注那些简化更新、保护您的code并支持应用商店发布和实时更新的工具。

以下是您需要关注的关键功能:

功能 重要性 实时更新
关键 减少因应用商店审核引起的延迟 安全
Live Updates 必备 保护用户数据和code完整性
分析 重要 衡量更新成功率和用户采用率
CI/CD集成 有用 简化部署流程
成本效益 战略 影响长期预算规划

本领域的一个突出工具是Capgo,它提供了专门为此目的设计的功能 Capacitor 应用.

Capgo 版本控制功能

Capgo 实时更新控制台界面

Capgo 提供了强大的版本管理功能,包括:

  • 23.5亿次成功更新
  • 95% 的用户在 24 小时内完成更新
  • 82% 的全球成功率
  • 全球平均 API 响应时间为 434ms

以下是使用 Capgo 进行版本控制的示例:

// Capgo version control example
import { CapacitorUpdater } from '@capgo/capacitor-updater';

const versionControl = {
  async checkVersion() {
    const current = await CapacitorUpdater.current();
    return current.version;
  },

  async deployUpdate(version: string) {
    await CapacitorUpdater.setChannel({
      channel: 'production',
      version: version
    });
  }
};

“我们正在尝试使用 @Capgo,因为 Appcenter 停止对混合应用程序的实时更新支持,而 @AppFlow 的费用太高了。” - Simon Flack [1]

团队规模解决方案

Capgo 提供灵活的计划来适应各种团队规模,使版本管理可扩展和高效。

团队规模 计划 关键功能
个人开发者 基本云主机 实时更新,1,000 MAU
小型团队(2-5) Maker 计划 10,000 MAU,500GB 带宽
中型团队(6-20) 团队计划 100,000 MAU, 权限
企业版 自定义 PAYG 无限制 MAU, 专属支持

对于更大的团队,Capgo 的频道系统使得版本部署的精确控制成为可能:

const enterpriseVersionControl = {
  channels: {
    production: 'stable-releases',
    beta: 'early-access',
    internal: 'development'
  },

  async deployToChannel(channel: string, version: string) {
    await CapacitorUpdater.setChannel({
      channel: channel,
      version: version
    });
  }
};

“我们实行敏捷开发,@Capgo 在为用户持续交付方面是 mission-critical 的!” - Rodrigo Mantica [1]

Capgo 还包括一个分析仪表板,用于监控版本采用率并及早检测潜在问题。通过内置加密和可定制的托管选项,团队可以在扩展部署工作流程的同时保持安全。

结论

理解版本标记的关键在于简化开发和部署流程。以下是快速回顾主要思想和步骤的方法。

关键要点

版本标记有助于开发者维护平滑和可靠的更新。正确的版本控制提供了明显的优势:

利益 影响 结果
即时更新 缩短审查时间 加快用户采用 [1]
版本控制 更好的code管理 更高的成功率 [1]
更新跟踪 实时监控 更快的问题解决 [1]
分布控制 目标发布 多平台支持

这些结果突出了使用有效的版本管理工具的重要性。

如何开始

为了实现这些好处,遵循以下步骤:

  • 设置版本跟踪:在文件中使用语义版本号并集成必要的插件。 package.json 添加更新检查
  • :实现系统来验证和跟踪版本更新。配置分发渠道
  • :为生产、beta和开发创建单独的环境。__CAPGO_KEEP_0__

最后,考虑添加一个实时更新系统,以确保部署既快又安全。

继续从Capacitor应用中的版本标签开始

如果您正在使用 版本标签在Capacitor应用中 来规划回滚和版本控制,连接它与 回滚 回滚的实现细节中 版本目标 版本目标的实现细节中 更新行为 更新行为的实现细节中 打包 对于捆绑包的实现细节 Capgo 实时更新 对于Capgo 实时更新中的产品工作流程

Capacitor 应用程序的实时更新

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

立即开始

最新博客

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