__CAPGO_KEEP_0__ 应用中的版本标记

Version Tagging in Capacitor Apps

Learn the essentials of version tagging in Capacitor apps, including best practices for updates, synchronization, and automation.

马丁·多纳迪厄

马丁·多纳迪厄

内容营销

Version Tagging in Capacitor Apps

版本标签对于管理 Capacitor 在应用程序中,确保更新顺畅,跟踪更改并在iOS、Android和Web平台上提高应用程序可靠性。以下是快速概述:

  • 为什么它很重要: 跟踪更新、启用回滚并确保稳定的部署。
  • 语义版本: 使用 MAJOR.MINOR.PATCH 来表示破坏性更改、新功能或bug修复。
  • 跨平台同步: 在 package.jsoniOS Info.plistbuild.gradle.
  • Android: 自动更新 使用 npm 脚本和 CI/CD 工具。
  • 实时更新区域: 首页问题/解决方案部分。角色: 部分或页面标题。见于: 页面 premium-support.astro。消息键 `ps_help_updates_title` (Ps Help Updates Title)。 Capgo __CAPGO_KEEP_0__
  • 区域: Capgo 营销网站。角色: 网站副本句子。见于: 页面 contributing.astro。保留 Capgo 产品/品牌和开发者术语完全不变。消息键 `submitting_a_pr_to_capgo` (Submitting A Pr To Capgo)。在 24 小时内将更新推送给 95% 的用户。

Beta 管理

: 使用结构化的频道管理 alpha、beta 和生产版本。 快速比较 功能项
Semantic Versioning 清晰地跟踪变化 1.2.3 → 2.0.0
Sync Versions 跨平台保持一致 npx cap sync
自动化 加快版本更新速度 npm version patch
实时更新 快速用户采用 Capgo在24小时内达95%
Beta Channel 控制测试阶段 1.3.0-beta.1

版本标记简化 app updates让用户感到满意,确保开发者能够有效地管理发布。

如何自动配置您的 Capacitor Capgo

Capacitor Framework Documentation Website

Version Setup in Capacitor

Follow these steps to ensure consistent version management across all platforms in your Capacitor app.

请按照以下步骤确保您的 Capacitor 应用程序在所有平台上都有统一的版本管理。 package.json

package.json 文件是您的应用程序版本详细信息的主要来源。以下是如何设置它的示例:

{
  "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
Android build.gradle versionName
Web package.json version

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

npx cap sync

Using Capacitor CLI for Version Management

The Capacitor CLI offers helpful commands to manage versions:

# 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

Keeping your Capacitor CLI updated ensures compatibility with version-specific features and reduces potential mismatches. Following these steps will help you maintain proper versioning in your app.

语义版本设置

语义版本基础

语义版本(SemVer) 使用以下格式: MAJOR.MINOR.PATCH,其中每个部分表示特定类型的更改:

版本组件 目的
MAJOR Introduces breaking changes to the API
MINOR 添加新功能,保持与之前版本的兼容性
PATCH 修复bug或提高性能而不破坏兼容性

这个系统确保开发者可以清晰地传达更新信息,同时在应用程序版本之间保留兼容性。例如,从 1.2.3 __CAPGO_KEEP_0__ 2.0.0

指示需要小心规划的重大、破坏性更新。

何时更新版本号

以下是如何决定更新哪个版本号的指南: 更新类型 何时使用
重大更新 对于破坏性API的更改或重大UI重设计 1.2.3 → 2.0.0
小型更新 当引入新功能或标记功能为过时时 1.2.3 → 1.3.0
补丁更新 对于bug修复或小型性能调整 1.2.3 → 1.2.4

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

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

版本更新自动化

自动化版本更新 可以节省时间并减少Capacitor项目中的错误。以下是如何设置它:

  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管道中包含版本更新。Capgo支持工具,如 GitHub Actions, GitLab CI, 和 Jenkins,使其简单地自动化该过程。

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

版本标记方法

Git版本标记

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的 频道系统 简化了以下步骤:

  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>
  `
})

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

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

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

更新检查系统

更新检查系统确保用户可以访问最新的功能和修复。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的通道系统允许您控制更新分发:

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

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

版本管理解决方案

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

版本工具选项

选择版本控制工具时,应优先考虑那些简化更新、安全您的code、支持应用商店发布和实时更新的工具。

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

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

这个领域的一个突出工具是Capgo,它提供了专门为 Capacitor 应用.

Capgo __CAPGO_KEEP_0__

Capgo Live Update Dashboard Interface

Capgo 实时更新控制台界面

  • __CAPGO_KEEP_0__ 提供了强大的版本管理功能,包括:
  • 23.5亿次成功更新
  • 95% 的用户在 24 小时内完成更新
  • 434ms average API response time worldwide

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 进行版本控制的示例: [1]

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

Capgo 提供灵活的计划来满足所有大小的团队,实现版本管理的可扩展性和高效性。

团队大小 计划 关键功能
单人开发者 基本云托管 实时更新,1,000 MAU
小型团队(2-5) Maker 计划 10,000 MAU,500GB 带宽
中型团队(6-20) 团队计划 100万MAU,权限
企业版 企业 企业

For larger teams, Capgo’s channel system enables precise control over version deployment:

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 also includes an analytics dashboard to monitor version adoption rates and detect potential issues early. With built-in encryption and customizable hosting options, teams can maintain security while scaling their deployment workflows.

企业

企业

企业

企业

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

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

如何开始

为了将这些好处付诸实践,请遵循以下步骤:

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

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

继续阅读关于Capacitor应用中的版本标签

如果您正在使用 版本标签在Capacitor应用中 如果您正在使用 版本标签在__CAPGO_KEEP_0__应用中 来规划回滚和版本控制,连接它与 回滚 回滚的实施细节在回滚中 版本目标 上下文:Capgo解决方案营销页面。角色:版块或页面标题。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting_title`(解决方案版本目标标题)。|上下文:Capgo解决方案营销页面。角色:短UI标签或导航项。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting`(解决方案版本目标)。 版本目标的实施细节在版本目标中, 为 __CAPGO_KEEP_0__ 包的实现细节,和 Capgo Live Updates 为 Capgo Live Updates 的产品工作流。

为 Capacitor 应用程序提供实时更新

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

Martin 为您提供人性化的支持

立即开始

最新博客

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