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

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

Capacitor アプリにおけるバージョンタグ付けの要点を学びましょう。アップデート、同期、自動化のベストプラクティスについても解説します。

Capacitor アプリでのバージョンタグ付け Capgo ブログ用イラスト

バージョンタグ付けは、アプリの管理に不可欠です。 Capacitor これにより、スムーズなアップデート、変更の追跡、iOS、Android、Web プラットフォーム全体でのアプリの信頼性向上が実現します。概要は以下のとおりです:

  • なぜ重要か:アップデートを追跡し、ロールバックを可能にし、安定したデプロイを実現します。
  • セマンティックバージョニング: 使用する メジャー.マイナー.パッチ 破壊的変更、新機能、またはバグ修正を示すため。
  • プラットフォーム間の同期:バージョン番号を以下で揃える package.json、iOS Info.plist、および Android build.gradle.
  • 自動化: アップデートの自動化 npm スクリプトと CI/CD ツールで。
  • Live Update以下のようなツールを活用することで、 Capgo 24時間以内にユーザーの95%にアップデートを配信。
  • ベータ管理:アルファ、ベータ、本番環境のバージョンに構造化チャネルを使用。

簡単比較

機能 目的 例
セマンティックバージョニング 変更を明確に追跡 1.2.3 → 2.0.0
バージョンを同期 プラットフォーム間で整合 npx cap sync
自動化 バージョン更新を高速化 npm version patch
Live Update 迅速なユーザー定着 24時間以内にCapgoの95%が適用
ベータチャンネル 制御されたテストフェーズ 1.3.0-beta.1

バージョンタグ付けでシンプルになり、 より速く、ユーザー満足度も高まり、開発者はリリースを効率的に管理できます。

を自動設定する方法 Capacitor プロジェクト ⚡️

Capacitor フレームワーク ドキュメントサイト

Capacitor でのバージョン設定

次の手順に従い、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): バグ修正や小さな改善を行う。

プラットフォーム間のバージョン同期

アプリのスムーズなデプロイには、全プラットフォームでバージョン番号を揃えることが重要です。各プラットフォームには、バージョン管理用の設定ファイルがあります。

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

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

npx cap sync

バージョン管理に Capacitor CLI を使用

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 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 はミッションクリティカルです!」 - 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 アクション, GitLab CIや Jenkinsなどのツールをサポートしているため、プロセスを簡単に自動化できます。

「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 内部テスト
ベータ 1.3.0-beta.1 外部テストグループ
RC(リリース候補) 1.3.0-rc.1 リリース前の最終テスト
プロダクション 1.3.0 パブリックリリース

このアプローチにより、開発段階間のスムーズな移行と徹底的なテストが保証され、バージョン管理がプロセス全体を通じて整理され、透明性が保たれます。

アプリバージョンの表示

アプリで正確なバージョン情報を表示することは、ユーザーに情報を提供し、アップデートを効果的に管理する上で重要です。

Capacitorでバージョンを取得する

このcodeを使用して、Capacitorでバージョン詳細を取得できます。

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

バージョン詳細を表示する一般的な場所には、以下が含まれます。

位置情報 目的 実装方法
設定画面 完全なバージョンとビルド 詳細なバージョン情報
About ページ 基本的なバージョン表示 バージョン番号のみ
アプリフッター 最小限の表示 短縮バージョン文字列

バージョン情報の表示に加え、アップデート確認システムを組み込むことで、ユーザー体験を向上させることができます。

アップデート確認システム

アップデート確認システムにより、ユーザーは常に最新の機能や修正を利用できるようになります。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 はミッションクリティカルです!」 - Rodrigo Mantica [1]

また、以下のようにユーザー向けのアップデート通知を追加することも可能です:

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

エンタープライズアプリの場合、Capgo のチャネルシステムを使用することで、アップデートの配信を制御できます:

チャンネル アップデートの種類 ターゲット層
プロダクション 安定版リリース すべてのユーザー
ベータ プレリリース版 テストグループ
重大 緊急修正 影響を受けるユーザー

この方法なら、Capgo のアナリティクスダッシュボードでアップデートのパフォーマンスを追跡しながら、アプリの信頼性を確保できます。

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

アプリのバージョン管理を効果的に行うための高度なソリューションを詳しく見ていきましょう。

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

バージョン管理ツールを選ぶ際は、アップデートを簡素化し、code を保護し、アプリストアでのリリースとライブアップデートの両方をサポートするツールに注目することが重要です。

注目すべき主な機能は以下の通りです:

機能 重要性 影響
Live Update 重大 アプリストア審査による遅延を最小限に
セキュリティ 必須 ユーザーデータとcodeの完全性を保護
アナリティクス 重要 更新の成功とユーザー採用を測定
CI/CD 連携 有用 デプロイプロセスを効率化
コスト効率 戦略的 長期的な予算計画に影響を与える

この分野で際立つツールの一つが Capgo で、以下に特化した機能を備えています Capacitor アプリ.

Capgo バージョン管理機能

Capgo Live Update ダッシュボードインターフェース

Capgo は、以下を含む強力なバージョン管理機能を提供します:

  • 2,350万件のアップデート配信に成功
  • ユーザーの95%が24時間以内に更新完了
  • グローバル成功率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
    });
  }
};

「Appcenterがハイブリッドアプリのライブアップデート対応を終了し、@AppFlowは高すぎるため、現在は @Capgo を試しています。」 - Simon Flack [1]

チーム規模別のソリューション

Capgo は、あらゆる規模のチームに対応する柔軟なプランを提供し、バージョン管理をスケーラブルかつ効率的にします。

チーム規模 プラン 主な機能
個人開発者 基本的なクラウドホスティング Live Updates、1,000 MAU
小規模チーム (2-5名) Makerプラン 10,000 MAU、500GB帯域幅
中規模チーム (6-20名) Teamプラン 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
    });
  }
};

「私たちはアジャイル開発を実践しており、ユーザーへ継続的にデリバリーする上で @Capgo はミッションクリティカルです!」 - Rodrigo Mantica [1]

Capgo には、バージョンの採用率を監視し、問題を早期に検出するためのアナリティクスダッシュボードも搭載されています。組み込みの暗号化とカスタマイズ可能なホスティングオプションにより、セキュリティを維持しながらデプロイワークフローをスケールできます。

まとめ

バージョンタグを理解することが、開発とデプロイのプロセスを簡素化する鍵です。ここまでの主なポイントと、始めるための手順を簡単に振り返ります。

要点

バージョンタグは、開発者がスムーズで信頼性の高いアップデートを維持するのに役立ちます。適切なバージョン管理には、明確な利点があります。

メリット 影響 成果
即時アップデート レビュー期間の短縮 ユーザー採用の加速 [1]
バージョン管理 より良い code 管理 成功率の向上 [1]
アップデート追跡 リアルタイムモニタリング より迅速な問題解決 [1]
配信コントロール ターゲットロールアウト マルチプラットフォーム対応

これらの結果は、効果的なバージョン管理ツールを使うことの重要性を示しています。

始め方

これらのメリットを実践するには、次の手順に従ってください。

  • バージョン追跡の設定:セマンティックバージョニングを package.json ファイルで使用し、必要なプラグインを組み込みます。
  • 更新チェックの追加:バージョン更新を検証・追跡するシステムを実装します。
  • 配布チャネルの設定:本番、ベータ、開発用に別々の環境を作成します。

最後に、デプロイが迅速かつ安全に行われるよう、live update システムの導入を検討してください。

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

使用している場合 Capacitor アプリでのバージョンタグ付け ロールバックとバージョン管理を計画するには、次と連携してください ロールバック ロールバックの実装詳細については、 バージョンターゲティング Version Targeting の実装詳細については、 アップデートの動作 Update Behavior の実装詳細については、 バンドル bundle の実装詳細については、また Capgo Live Update Capgo Live Updates のプロダクトワークフローについては。

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

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