e-Título
幅広いデバイス互換性が求められる、市民認証アプリ。
- Google Play インストール数
- 5490万
- ストア評価
- 4.8
バージョンターゲティング
ユーザーはストアから自身のペースでアップデートを行うため、アプリの複数のNative Buildが同時に稼働することになります。Capgoは各bundleのNative依存関係をチェックし、バージョンルールに基づいてアップデートを制限。各Native Buildをそれぞれのchannelへルーティングすることも可能です。
14日間無制限の無料トライアル。クレジットカード不要 14日間の返金保証。いつでも解約可能。
bundleの互換性チェックは、プロジェクト内のネイティブパッケージとチャンネルで配信中のbundleを比較します。CIで --fail-on-incompatible を追加すると、新しいbinaryが必要なuploadを停止できます。
ネイティブ互換性ドキュメントチャンネルをmetadata strategyに設定し、--auto-min-update-version を付けてuploadします。ネイティブバージョンがbundleの下限を下回るデバイスは、そのbundleをスキップして現在のbundleを維持します。
バージョンターゲティングのドキュメント--disable-auto-update major、minor、patch を指定すると、ネイティブバージョンのライン外のbundleをデバイスが受け取らないようにできます。これらのルールはバージョン番号だけを比較し、ネイティブの code は検査しません。
Updateの種類とバージョンブロック各Native BuildのCapacitor設定で、v2やv3などのdefaultChannelを指定します。各ラインが独自のbundleを持ち、古いラインは最後に動作したbundleを維持できます。
バージョンターゲティングのドキュメント仕組み
live updateレーンとストアレーンを並行稼働させるCIセットアップ。以下のコマンドはすべてCapgo CLIドキュメントに基づいています。
build neededは、ネイティブパッケージとチャンネルを比較します。ストアリリースが必要な場合はyesと出力してcode 1で終了し、live updateで十分な場合はnoと出力します。
npx @capgo/cli@latest build needed com.example.app --channel production build neededのリファレンス これは一度設定するだけです。以降、各bundleに最小ネイティブバージョンが付与され、それ未満のデバイスはbundleをスキップします。
npx @capgo/cli@latest channel set production com.example.app \
--disable-auto-update metadata バージョンターゲティングのドキュメント すべてのアップロードで --auto-min-update-version を有効にします。--fail-on-incompatible は、bundle に channel 未対応の Native code が必要な場合にジョブを停止します。
npx @capgo/cli@latest bundle upload --channel production \
--auto-min-update-version \
--fail-on-incompatible ネイティブ互換性ドキュメント 新しいバイナリをリリースする際は、--fail-on-incompatible なしで bundle をアップロードします。Capgo が下限を引き上げるため、古いビルドはスキップされ、その後のチェックでは新しい Native パッケージと比較されます。
npx @capgo/cli@latest bundle upload --channel production \
--auto-min-update-version Native と OTA チャネルのワークフロー Appflow移行
Appflowでは、Live Updateをネイティブバージョンに自動的に紐付けていました。Capgoでは、チャンネルとバージョンルールを使用して同様の結果を実現できます:
// capacitor.config.ts in your 2.x native builds
plugins: {
CapacitorUpdater: {
defaultChannel: 'v2',
},
},
# ship a fix to 2.x users only
npx @capgo/cli@latest bundle upload --channel v2 \
--auto-min-update-version
# 1.x devices stay on their channel's current bundle 2.0のバイナリにカメラプラグインを追加した場合、--auto-min-update-version を使用してbundleをアップロードすれば、ユーザーが2.0をインストールするまで1.xのデバイスは更新をスキップします。
ネイティブ互換性ドキュメント--rollout を使用して特定のチャネルの一部にbundleを配信し、インストール状況や失敗データを監視した上で、本番展開するかロールバックするかを判断できます。
段階的ロールアウトのドキュメントv1チャネルへのアップロードを停止します。v1のデバイスは最後に動作したbundleを維持し、v2のデバイスは引き続きアップデートを受け取ります。
バージョンターゲティングのドキュメント3つのNativeバージョンが稼働している場合の構成例。
v3には新機能、v2には修正を配信し、v1には配信しません。v1のデバイスは最後に動作したbundleを保持します。
Capacitor で構築されたアプリ
行政、ヘルスケア、予測アプリなどは、古いAndroidバージョンや異なる世代のデバイスをサポートする必要がある場合があります。Version targetingを活用すれば、全員に一律のアップデートパスを強制することなく、各Native Buildを最新の互換性のあるweb bundleに保つことができます。
幅広いデバイス互換性が求められる、市民認証アプリ。
古いネイティブシェルと新しいネイティブシェルで、異なるWeb bundleが必要になるヘルスケアアプリ。
デバイスの性能やマップのパフォーマンスがバージョンによって異なる天気アプリ。
Webincode 開発者
「Device IDを特定のグループに追加して、そのグループにだけ変更をプッシュできるのは本当に助かります。」
CTO, プライベート
「セットアップは1日もかかりませんでした。チャンネルベースのロールアウトのおかげで、本番ユーザーに配信する前に自分のデバイスでテストできます。」
リードデベロッパー、drivolino GmbH
“Capgo Capacitor Updater pluginのおかげで、アップデートの配信方法が完全に変わりました。以前は何日もかかっていた作業が、今ではわずか数分で終わります。”
よくある質問
ストアアプリの更新タイミングがユーザーごとに異なるチーム向けです。
ユーザーには、自分のネイティブバージョンと互換性のあるbundleが引き続き配信されます。metadata戦略では、最小ネイティブバージョンがユーザーのバージョンより高いbundleはスキップされ、現在のbundleが維持されます。
バージョンターゲティングのドキュメントいいえ。バージョンルールはバージョン番号のみを比較するため、マイナーまたはパッチリリースに含まれるネイティブの変更は配信されてしまいます。ネイティブパッケージをチェックする--fail-on-incompatibleまたは--auto-min-update-versionを使用してください。
ネイティブ互換性ドキュメントchannelに対してbuild neededまたはbundleのreleaseTypeを実行します。どちらもネイティブパッケージのmetadataを比較します。ios/、android/、またはcapacitor.config配下のすべての編集を検知できるわけではないため、git側でもこれらのパスをゲートしてください。
CIでOTAかNative Buildかを選択はい。defaultChannelを使用してネイティブラインごとにチャンネルを作成するか、--auto-min-update-versionを使用したメタデータ戦略を利用してください。Appflow移行ガイドでセットアップ手順を確認できます。
Appflow移行ガイドチャンネルを履歴から最後に互換性があったbundleへ戻すか、組み込みのbundleを強制し、Native Buildを配信してください。notifyAppReady()は起動に失敗したbundleをロールバックしますが、互換性のあるネイティブ code の代わりになるものではありません。
ロールバックのドキュメント14日間の無料トライアル中に、メタデータ戦略とCIでの互換性チェックをセットアップしましょう。クレジットカードの登録は不要です。
Capgo のバージョンターゲティングを試しましょう:各ネイティブアプリのバージョンにLive Updateを一致させます。
Martinによる人的サポート
14日間無制限の無料トライアル。クレジットカード不要 14日間の返金保証。いつでも解約可能。