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

Capacitor应用中的版本标签

Capacitor应用中的版本标签是学习的基本知识,包括更新、同步和自动化的最佳实践。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销

Capacitor应用中的版本标签

__CAPGO_KEEP_0__应用中的版本标签对于管理至关重要 Capacitor apps. It ensures smooth updates, tracks changes, and enhances app reliability across iOS, Android, and web platforms. Here’s a quick overview:

  • 为什么它很重要: Tracks updates, enables rollbacks, and ensures stable deployments.
  • 语义版本: 使用 MAJOR.MINOR.PATCH 来指示破坏性更改、新增功能或bug修复。
  • 跨平台同步: 在 package.json, iOS Info.plist, 和 Android build.gradle.
  • 中对齐版本号: 自动化更新 使用 npm 脚本和 CI/CD 工具。
  • 实时更新: 使用工具 Capgo 可以在 24 小时内将更新推送给 95% 的用户。
  • Beta 管理: 使用结构化的频道管理 alpha、beta 和生产版本。

快速比较

功能目的示例
语义版本控制清晰地跟踪变化1.2.3 → 2.0.0
同步版本跨平台统一npx cap sync
自动化加速版本更新npm version patch
实时更新快速用户采纳Capgo在24小时内达95%
测试频道控制测试阶段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 或进行小幅改进。

保持平台版本同步

为了smooth的应用部署,需要将版本号在所有平台上保持一致。每个平台都有自己的配置文件来管理版本号:

平台配置文件版本键
iOSInfo.plistCFBundleShortVersionString
Androidbuild.gradleversionName
Webpackage.jsonversion

在更新版本号后,使用以下命令同步更新到原生平台配置: package.json使用 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 进行版本管理

npx cap sync

After updating the version in Capacitor CLI, use this command to sync the changes with native platform configurations:

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)使用格式 MAJOR.MINOR.PATCH,其中每个部分表示特定类型的更改:

版本组件目的
MAJOR引入 API 的破坏性更改
MINOR添加新功能,保持与之前版本的兼容性
__CAPGO_KEEP_0__修复 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项目中的错误。以下是如何设置:

__CAPGO_KEEP_0__版本脚本 package.json file to manage version updates easily:

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. CI/CD Integration
    将版本更新整合到CI/CD管道中。 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修复审查提高生产力的必备工具。

Version Tag Methods

Git Version Tags Capacitor 应用发布. 为创建清晰和详细的标签,结合语义版本控制与简要描述:

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

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

标签组件格式示例
发布版本v[主版本].[次版本].[修订版本]v1.2.3
测试发布v[版本号]-beta.[序号]v1.2.3-beta.1
Release Candidate__CAPGO_KEEP_0____CAPGO_KEEP_0__-rc.2

Build Number Integration

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

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

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

Beta Version Management

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

  1. Channel Setup

为每个测试阶段创建单独的渠道:

{
  "beta": {
    "version": "1.3.0-beta.1",
    "users": "beta-testers"
  },
  "production": {
    "version": "1.2.3",
    "users": "all"
  }
}
  1. __CAPGO_KEEP_0__

控制用户访问权限

  1. __CAPGO_KEEP_1__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3____CAPGO_KEEP_4____CAPGO_KEEP_5__
__CAPGO_KEEP_6____CAPGO_KEEP_7____CAPGO_KEEP_8__
__CAPGO_KEEP_9____CAPGO_KEEP_10__外部测试组
RC (发布候选版本)1.3.0-rc.1发布前最终测试
生产1.3.0公开发布

这种方法确保了测试充分和开发阶段之间的过渡顺利,并且在整个过程中保持版本跟踪的组织和透明。

应用程序版本显示

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

Getting Version with 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>
  `
})

显示版本详细信息的常见地方包括:

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

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

更新检查系统

更新检查系统确保用户可以访问最新的功能和修复。Capgo提供实时通知和控制的更新通道来管理此过程:

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在持续交付给我们的用户方面是 mission-critical!” - Rodrigo Mantica [1]

您还可以添加一个用户可见的更新通知,如下所示:

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

对于企业应用,Capgo的通道系统允许您控制更新分发:

通道更新类型目标受众
生产环境稳定版本所有用户
Beta预发布版本测试组
关键紧急修复受影响用户

该方法确保应用程序的可靠性,同时通过Capgo的分析仪表板跟踪更新性能。

版本管理解决方案

让我们深入了解高级解决方案,有效地管理应用程序版本。

版本工具选项

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

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

功能重要性实时更新
关键减少应用商店审核造成的延迟安全
必备实时更新保护用户数据和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
    });
  }
};

“We are currently giving a try to @Capgo since Appcenter stopped live updates support on hybrid apps and @AppFlow is way too expensive.” - Simon Flack [1]

团队规模解决方案

Capgo 提供灵活的计划来满足所有团队规模的需求,使版本管理变得可扩展和高效。

团队规模方案关键功能
个人开发者基本云托管实时更新, 1,000 MAU
小型团队 (2-5)Maker 计划10,000 MAU, 500GB 带宽
中型团队 (6-20)团队计划100,000 MAU, 权限
企业版定制付费无限 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
    });
  }
};

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

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

结论

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

关键要点

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

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

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

开始

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

  • 设置版本跟踪: 在文件中使用语义版本号并集成必要的插件。 package.json 添加更新检查
  • : 实现系统来验证和跟踪版本更新。配置分发渠道
  • : 为生产、beta 和开发创建单独的环境。最后,考虑添加实时更新系统以确保部署既快速又安全。

__CAPGO_KEEP_0__

Capacitor 实时更新

当有 web 层 bug 时,通过 Capgo 直接将修复推送给用户,而不是等待几天的 app store 审核。用户在后台接收更新,而原生代码仍然在正常审查路径中。

立即开始

最新博客文章

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