メイン コンテンツにスキップ

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 Capacitorアプリケーションでバージョンタグ付け

  • なぜこれが重要か: アップデートの追跡、ロールバックの有効化、安定したデプロイメントを保証する
  • 意味論的バージョニング: MAJOR.MINOR.PATCH を使用して、破壊的な変更、新機能、またはバグ修正を示す
  • プラットフォーム間の同期: package.jsoniOS Info.plistbuild.gradle.
  • Android: 自動更新 npm スクリプトと CI/CD ツールを使用して自動化
  • ライブ更新ツール Capgo 95% のユーザーに 24 時間以内に更新を提供する
  • ベータ管理: アルファ、ベータ、プロダクション バージョンのための構造化されたチャンネルを使用

比較

機能 目的
意味的バージョン管理 変更を明確に追跡する 1.2.3 → 2.0.0
バージョンを同期する プラットフォームを横断する npx cap sync
自動化 バージョン更新を高速化する npm version patch
ライブ更新 ユーザー採用を高速化する Capgoの95%が24時間で
ベータチャネル 制御されたテストフェーズ 1.3.0-beta.1

バージョン付けが簡素化する アプリの更新ユーザーが満足し、開発者がリリースを効果的に管理できるようにする

AUTOMATICALLY Capacitor Capacitor

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 Capacitor

{
  "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): バグを修正したり、小さな改善を行ったりします。

プラットフォームのバージョンを同期する

すべてのプラットフォームで smooth なアプリのデプロイを実現するには、バージョン番号をすべてのプラットフォームで同期することが重要です。各プラットフォームには、バージョニングのための独自の設定ファイルがあります。

プラットフォーム 設定ファイル バージョンキー
iOS Info.plist CFBundleShortVersionString
Android build.gradle versionName
Web package.json version

Capacitorアプリのバージョンを更新した後は、 package.json使用するコマンドで、ネイティブプラットフォームの設定を同期する

npx cap sync

バージョン管理のためにCapacitor CLIを使用する

Capgoは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 バグを修正し、互換性を維持したままパフォーマンスを向上させます。

このシステムにより、開発者はアップデートを明確に伝えながら、互換性を保ったままアプリのバージョンをアップデートできます。例えば、 1.2.3 から 2.0.0 を使用すると、重大な変更が必要な計画を必要とするメジャーバージョンアップデートを示すことができます。

バージョン番号をアップデートするときはどの時にするか

バージョン番号をアップデートする方法

アップデートの種類 使用するとき バージョン番号の変更の例
メジャーアップデート 重大なAPIの変更やメジャなUIのリデザインの場合 1.2.3 → 2.0.0
マイナーアップデート 新機能の追加や機能の非推奨化の場合 1.2.3 → 1.3.0
パッチアップデート バグの修正や小さなパフォーマンスのチューニングの場合 1.2.3 → 1.2.4

「アジャイル開発を実践し、@Capgoは継続的にユーザーに提供するmission-criticalです!」 - Rodrigo Mantica [1]

ここでは、リリース管理を簡素化するためにこれらのアップデートを自動化する方法について説明します。

バージョンアップデートの自動化

バージョンアップデートの自動化 Capacitorのプロジェクトで時間を節約し、エラーを減らすことができます。ここでは、設定方法について説明します。

  1. NPMのバージョンスクリプト

Capacitorアプリにバージョンタグを追加する package.json ファイルにこれらのスクリプトを追加して、バージョンアップデートを簡単に管理することができます:

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. CI/CD統合
    Incorporate version updates into your CI/CD pipeline. Capgo supports tools like GitHub Actions, GitHub ActionsGitLab CI JenkinsCapgoは、開発者が長時間のバグ修正レビューを回避することで生産性を高めるための必須ツールです。

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

Gitバージョンタグ

__CAPGO_KEEP_0__

Git バージョン タグは、 Capacitor アプリのリリースを確実に追跡するための信頼できる方法です。

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

明確で情報豊かなタグを作成するには、

意味論的バージョニングと簡潔な説明を組み合わせてください。 チーム全体で一貫性を保つには、標準化されたタグ付け形式を使用してください。 タグ
フォーマット リリース バージョン
v[MAJOR].[MINOR].[PATCH] v1.2.3 v1.2.3-β.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"
  }
}

ビルド番号は常に増加する必要があります。バージョンが同じままでも、各アプリストアの提出を一意に識別し、ユーザーにとってバージョニングを明確に保つことができます。

ベータ版バージョン管理

ベータ版バージョンの管理には、テストビルドを配布するための構造化されたプロセスが必要です。Capgoの チャンネルシステム は、以下の手順でこのプロセスを簡素化します:

  1. チャンネル設定

各テストフェーズごとに別々のチャネルを作成してください:

{
  "beta": {
    "version": "1.3.0-beta.1",
    "users": "beta-testers"
  },
  "production": {
    "version": "1.2.3",
    "users": "all"
  }
}
  1. ユーザーへのアクセスを制御する

ベータ版へのアクセスを制御するためのパーミッションを設定してください。この設定により、ベータ版を提供する承認されたテスターのみがベータ版を取得し、生産ユーザーは安定したリリースを受け取ることができます。

  1. バージョン進行状況

開発段階を追跡するための明確なバージョン進行状況システムを使用してください:

ステージ バージョン形式 目的
アルファ 1.3.0-alpha.1 内部テスト
ベータ 1.3.0-β.1 外部テストグループ
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 マーケティング ウェブサイト。役割: 短い UI ラベルまたはナビゲーション アイテム。メッセージ キー `subprocessors_table_purpose` (Subprocessors Table Purpose)。
実装 設定画面 フル バージョンとビルド
詳細なバージョン情報 バージョン表示の基本 バージョン番号のみ
アプリフッター 最小限の表示 バージョン文字列の縮小

バージョン情報を表示するだけでなく、更新チェックシステムを統合することで、ユーザー体験を向上させることができます。

更新チェックシステム

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

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

ユーザーに通知を表示することもできます。

@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__の分析ダッシュボードを通じてアップデートのパフォーマンスを追跡することを保証します。

This method ensures app reliability while tracking update performance through Capgo’s analytics dashboard.

バージョン管理ソリューション

バージョン管理の高度なソリューションについて詳しく見てみましょう。

バージョンツールの選択肢

バージョン管理ツールを選択する際は、更新を簡素化し、codeを保護し、両方のアプリストアのリリースとライブアップデートをサポートするものに焦点を当ててください。

ここでは、以下の重要な機能を探してみましょう。

機能 重要度 影響
ライブアップデート 重要 アプリストアのレビューによる遅延を最小限に抑える
セキュリティ Essential Safeguards user data and code integrity
アナリティクス 重要 アップデートの成功率とユーザーの採用率を測定
CI/CD統合 便利 デプロイメントプロセスを簡素化
コスト効率 戦略的 長期的な予算計画に影響

One standout tool in this space is Capgo, which offers features specifically designed for Capacitor apps.

Capgo バージョン管理

Capgo Live Update Dashboard Interface

Capgo

  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • API

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) メイカープラン 10,000 MAU、500GB バンド幅
中規模チーム (6-20) チームプラン 100万MAU、権限
ビジネス より大きなチーム向けに、__CAPGO_KEEP_0__のチャンネルシステムにより、バージョンの展開を厳密に制御できます。 「私たちはアジャイル開発を実践しており、@__CAPGO_KEEP_0__はユーザーに継続的に提供するmission-criticalなツールです!」 - Rodrigo Mantica

Capgoには、バージョンの採用率を監視し、潜在的な問題を早期に検出するための分析ダッシュボードも含まれています。Built-inの暗号化とカスタマイズ可能なホスティングオプションにより、チームは安全性を維持しながら展開ワークフローを拡大できます。

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.

バージョン付けは、開発と展開プロセスを簡素化するための重要な要素です。ここでは、主なアイデアとステップを簡単にまとめました。

バージョン付けは、開発者がsmoothな更新を維持するのに役立ちます。正しいバージョン管理は、以下の利点を提供します:

利点

Enterprise

Custom PAYG 影響 結果
即時更新 短縮されたレビューのタイムライン ユーザーの採用が速まる [1]
バージョン管理 より良い code 管理 成功率が高まる [1]
更新追跡 リアルタイムモニタリング 問題の解決が速まる [1]
配布の制御 ターゲットされたロールアウト マルチプラットフォーム対応

これらの結果は、有効なバージョン管理ツールの使用の重要性を強調しています。

始める方法

これらの利点を実現するには、以下の手順に従ってください。

  • バージョン追跡の設定: バージョン管理のためのシーケンスバージョニングを使用し、必要なプラグインを統合する。 package.json 更新チェックの追加
  • : バージョンアップデートの検証と追跡を実施するシステムを実装する。配布チャンネルの設定
  • : 製品、ベータ、開発用の別々の環境を作成する。__CAPGO_KEEP_0__

最後に、迅速かつ安全なデプロイを保証するために、ライブアップデートシステムを追加することを検討してください。

Capacitor アプリのバージョンタグ付けから続けてください。

「__CAPGO_KEEP_0__ アプリのバージョンタグ付け」を使用している場合 「Capacitor アプリのバージョンタグ付け」を使用している場合 「__CAPGO_KEEP_0__ アプリのバージョンタグ付け」を使用してロールバックとバージョン管理を計画する場合、ロールバックと接続する ロールバック ロールバックの実装詳細については、ロールバックを参照してください。 バージョン目標設定 ロールバックの実装詳細については、バージョン目標設定を参照してください。 更新動作 更新動作の実装詳細については、更新動作を参照してください。 バンドル for the implementation detail in bundle, and Capgo Live Updates for the product workflow in Capgo Live Updates.

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

マーティンによる人間のサポート

今すぐ始めよう

最新のブログ

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最高の洞察を提供します。