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

Capacitor アプリのバージョン管理

Capacitor アプリのバージョン管理の基本を学びましょう。アップデート、同期、自動化のベストプラクティスを含みます。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

バージョンタグ付けの Capacitor アプリ

バージョン タグ付けは、iOS、Android、Webプラットフォームを通じてアプリの信頼性を向上させ、変更を追跡し、順調な更新を保証するために不可欠です。 Capacitor アプリ

  • なぜ重要か: アップデートを追跡し、ロールバックを可能にし、安定したデプロイメントを保証します。
  • 意味論的バージョン管理: MAJOR.MINOR.PATCH を使用して、破壊的な変更、新機能、またはバグ修正を示します。
  • プラットフォーム間で同期: バージョン番号を揃えます。 package.json, iOS Info.plist, Android build.gradle.
  • 自動化: 更新を自動化 npm スクリプトと CI/CD ツールを使用して更新を自動化します。
  • ライブ更新: __CAPGO_KEEP_0__ のようなツールを使用すると、24 時間以内に 95% のユーザーに更新を配信できます。 Capgo : アルファ、ベータ、プロダクション版のバージョンを構造化されたチャネルで管理します。
  • __CAPGO_KEEP_0____CAPGO_KEEP_0__

Quick Comparison

機能 目的
セマンティック バージョニング 変更を明確に追跡 1.2.3 → 2.0.0
バージョンを同期 プラットフォームを横断して同期 npx cap sync
自動化 バージョン更新を高速化 npm version patch
リアルタイム更新 ユーザー採用を高速化 Capgo’s 95% in 24 hours
ベータチャンネル 制御されたテストフェーズ 1.3.0-beta.1

__CAPGO_KEEP_0__のバージョン管理が簡単になります。 アプリの更新ユーザーが満足し、開発者がリリースを管理できるようにします。

自動で__CAPGO_KEEP_0__を設定する方法 Capacitor __CAPGO_KEEP_0__フレームワークドキュメントサイト

Capacitor Framework Documentation Website

Capacitor’s 95% in 24 hours

Capacitorアプリのバージョン管理をすべてのプラットフォームで一貫して行うには、次の手順に従ってください。

バージョンを設定する package.json

package.json ファイルは、__CAPGO_KEEP_0__アプリのバージョン情報の主なソースです。ここでは、設定方法の例を示します。

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

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

バージョン番号をすべてのプラットフォームで一致させることは、スムーズなアプリのデプロイメントに重要です。各プラットフォームには、バージョニングのための独自の設定ファイルがあります:

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

バージョンを更新した後は、 package.jsonCloudflare

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.

code

API

SDK CLI npmbun

バージョンコンポーネント 目的
メジャーバージョン メジャーバージョンでは、APIに重大な変更を導入します。
マイナーバージョン マイナーバージョンでは、互換性を維持したまま新機能を追加します。
パッチ バグの修正またはパフォーマンスの向上を行うため、互換性を破ることなく修正します。

このシステムにより、開発者は明確にアップデートを伝えながら、Appのバージョン間で互換性を維持できます。例えば、 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 バージョン スクリプト

あなたの __CAPGO_KEEP_0__ プロジェクトにこれらのスクリプトを追加して、バージョン更新を簡単に管理することができます。 package.json CI/CD統合

{
  "scripts": {
    "version:patch": "npm version patch",
    "version:minor": "npm version minor",
    "version:major": "npm version major"
  }
}
  1. CI/CDパイプラインにバージョン更新を組み込む。 __CAPGO_KEEP_0__ は、Cloudflare、Capacitor、GitHub、Capgo、code、API、SDK、CLI、npm、bunなどのツールをサポートしています。
    Capgo アクション GitHub Actions, 、Jenkinsなどをサポートしています。 __CAPGO_KEEP_0__ Actions、開発プロセスを自動化するプロセスを簡素化する。

“@Capgoは、開発者が長時間のバグ修正レビューを回避することで生産性を高めることを目指す必須ツールです。” - Bessie Cooper [1]

バージョンタグ方法

Gitバージョンタグ

Gitバージョンタグは、 Capacitorアプリのリリースを管理する信頼できる方法です。. 明確で情報豊富なタグを作成するには、意味論的バージョニングと簡潔な説明を組み合わせてください。

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

チーム全体で一貫性を保つには、標準化されたタグ付け形式を使用してください。

タグコンポーネント フォーマット
リリースバージョン v[MAJOR].[MINOR].[PATCH] v1.2.3
ベータ版リリース v[VERSION]-beta.[NUMBER] 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"
  }
}

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

ベータ版バージョン管理

ベータ版の管理には、テストビルドを配布するための構造化されたプロセスが必要です。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 __CAPGO_KEEP_0__
ベータ 1.3.0-beta.1 __CAPGO_KEEP_0__
RC (リリース候補) 1.3.0-rc.1 __CAPGO_KEEP_0__
本番 1.3.0 公開

__CAPGO_KEEP_1__

App Version Display

アプリのバージョンを正確に表示することは、ユーザーを情報に満ちた状態に保ち、更新を効果的に管理するために重要です。

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

For a more streamlined approach, create a reusable function:

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

バージョン情報を表示するプロセスを簡素化するために、再利用可能な関数を作成します。

Version UI Implementation

バージョン情報を表示するためのUI実装の例です。

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

Common places to show version details include:

表示するバージョン情報の場所 Location 場所
設定画面 フルバージョンとビルド 詳細バージョン情報
アバウトページ 基本的なバージョン表示 バージョン番号のみ
アプリフッター 最小限の表示 縮小されたバージョン文字列

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

更新チェックシステム

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

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

You can also add a user-facing update notification, like this:

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

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

チャンネル アップデートタイプ 対象ユーザー
本番 安定版 全ユーザー
ベータ プレリリース テストグループ
緊急 緊急修正 影響を受けたユーザー

この方法は、アプリの信頼性を確保しながら、Capgoの分析ダッシュボードを通じてアップデートのパフォーマンスを追跡します。

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

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

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

When selecting version control tools, it’s important to focus on those that simplify updates, secure your code, and support both app store releases and live updates.

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

機能 重要性 影響
リアルタイム更新 重要 アプリストアレビューによる遅延を最小限に抑える
セキュリティ 必須 ユーザーデータとcodeの完全性を確保する
分析 重要 アップデートの成功率とユーザーの採用率を測定する
CI/CD統合 便利 デプロイメントプロセスを簡素化する
コスト効率 戦略的 長期予算計画に影響を与える

この分野で注目すべきツールの1つはCapgoであり、Capgoアプリ向けに特に設計された機能を提供しています。 Capacitorアプリ.

Capgo バージョン管理機能

Capgoライブアップデートダッシュボードインターフェイス

Capgoは、以下の強力なバージョン管理機能を提供しています。

  • 23.5Mの成功したアップデート
  • 24時間以内に95%のユーザーがアップデート
  • 82%のグローバル成功率
  • 世界中で平均 434ms の 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]

Simon Flack

Capgo offers flexible plans to accommodate teams of all sizes, making version management scalable and efficient.

Team Size Plan Key Features
Solo Developer Basic cloud hosting Live updates, 1,000 MAU
Small Team (2-5) メイカープラン 10,000 MAU、500GB バンド幅
Medium Team (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には、バージョンの採用率を監視し、潜在的な問題を早期に検出するための分析ダッシュボードも含まれています。Built-inの暗号化とカスタマイズ可能なホスティングオプションを備えているため、チームはセキュリティを維持しながら、デプロイワークフローを拡大できます。

結論

バージョン管理は開発とデプロイメントのプロセスを簡素化するために重要です。ここでは、主なアイデアとステップを簡単にまとめてみましょう。

重要なポイント

バージョン管理は開発者が信頼性の高い更新を実現できるように支援します。正しいバージョン管理は、以下の利点を提供します:

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

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

始める方法

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

  • バージョン追跡の設定: 必要なプラグインを統合して、ファイルにシームナティックバージョニングを使用してください。 package.json __CAPGO_KEEP_0__
  • アップデートのチェックを追加する: バージョンアップデートの検証と追跡を実装する。
  • 配布チャンネルの設定: 生産、ベータ、開発用の別々の環境を作成する。

最後に、迅速かつ安全なデプロイを確実にするために、ライブアップデートシステムを追加することを検討する。

Capacitor アプリのバージョン タギングから続けて

「__CAPGO_KEEP_0__ アプリのバージョン タギング」を使用している場合 Version Tagging in Capacitor Apps ロールバック ロールバックの実装詳細については、 バージョン ターゲット If you are using バージョン対象の実装詳細については、 Update Behavior バージョン対象のUpdate Behaviorの実装詳細については、 bundle バンドルの実装詳細については、 Capgo Live Updates Capgo Live Updatesの製品ワークフローについては、

Capacitorアプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgoを使用して修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で残る。

Get Started Now

ブログの最新記事

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