メインコンテンツへスキップ
チュートリアル

Capacitor-updaterでCapacitorアプリをシームレスにアップデート

Greetings Capacitor Ionic Community! 本日は、シームレスなリリースを実現するために、アプリへの Capacitor-updater のセットアップ方法を解説します。

Capacitor-updater を使って、Capacitor アプリをシームレスにアップデートしましょう Capgo

Capacitor-updater とは?

Capacitor-updater は、エンドユーザーへアプリのアップデートや改善を即座に配信できるテクノロジーです。

App Store の審査を通さずに、重要なバグ修正を即座にリリースしたい場合に非常に強力です。

アップデートが利用可能になった瞬間にサイドロードできる、「Web のような」俊敏性を実現します。

さらに、新しいアップデートでアプリがクラッシュした場合のロールバック機能も備えています

仕組みについて

Capgo はアプリの JavaScript bundle を Capgo サーバーと同期させます。ユーザーがアプリを起動するたびに、Capgo サーバーへ新しい bundle のアップデートがないか確認します。もちろん、ユーザー体験を細かく調整できる豊富な設定オプションも用意されています。

私は開発するすべてのプロジェクトで Capgo を使用しています。これにより、App Store の審査プロセスに費やす時間を短縮できています。

詳細はこちら こちら.

Capgo によるセマンティックバージョニングの理解

Capgo はセマンティックバージョニング (semver) を使用して、アプリへのアップデート適用タイミングと方法を決定します。これにより、ユーザーには互換性のあるアップデートのみが配信され、破壊的な変更が自動的にデプロイされるのを防ぎます。

セマンティックバージョニングのフォーマット MAJOR.MINOR.PATCH:

  • MAJOR: Native Build のリリースが必要な破壊的変更
  • MINOR: 後方互換性のある新機能
  • PATCH: 後方互換性のあるバグ修正

例えば、アプリのバージョンが 1.0.0 で、 1.0.1 へアップデートしたい場合、Capgo が自動的にこのアップデートを適用します。ただし、 1.0.0 まで 2.0.0 (メジャーバージョン)へのアップデートは、破壊的変更を伴うため、Native Build による App Store 等でのリリースが必要になります。

Capgo のチャンネル設定では、どの種類のアップデートを自動適用するか構成できます:

  • Major戦略: すべてのアップデートを許可(注意して使用してください)
  • Minor戦略: マイナーアップデートとパッチアップデートのみを許可
  • パッチ戦略: パッチアップデートのみを許可
  • メタデータ戦略: 最小バージョン要件を満たすことが必要

Capgo のアップデートロジックで、異なるバージョンの組み合わせがどう動作するかを、こちらの Semver Tester ツールでテストできます。このツールを使えば、チャンネル設定に基づいてアップデートがいつ適用されるかを正確に把握できます。

制限事項はありますか?

魅力的に聞こえるかもしれませんが、いくつか留意すべき点があります。 まず、OTAアップデートは Web バンドルのみで動作します。 Capacitor の JS では、ほとんどすべての code を JS、CSS、HTML で書くので、大した制限ではないと思うかもしれません。 実際その通りですが、アプリにはネイティブモジュールもインストールしています。 モジュールが Android や iOS のディレクトリを変更する場合、OTA でアプリをアップデートすることはできません。 これらのディレクトリの中身はネイティブバイナリのコンパイルに使われるため、OTA では更新できないからです。 ネイティブアプリでもこの部分は更新できません。

CI/CDでこの部分を自動化することも可能です。その方法については、こちらのチュートリアルを作成しました。 iOS向けはこちら.

Capgo の自動設定

さあ、サインアップして API キーを取得し、最初のバージョンをアップロードしましょう!まずは、 Capgo アカウントの作成から始めましょう.

Capgo にログインすると、オンボーディングページが表示されます。

オンボーディングページ

オンボーディングページの手順に従って、最初のアプリを追加してください。

CLI のガイドに従ってください

Capacitor アプリのルートディレクトリで、以下のコマンドを実行します:

npx @capgo/cli@latest init Capacitor アプリに Capgo をインストールするには、CLI が Capgo を使ったアプリの設定プロセスを案内します。

手動で行いたい場合は、以下の手順に従ってください。

Capgo の手動設定

プラグインをインストール

最終的に、アプリにこの code が追加されているはずです:

npm i @capgo/capacitor-updater && npx cap sync プラグインを Capacitor アプリにインストールするには。

次に、JS bundle が正常であることをネイティブプラグインに通知するため、アプリにこの code を追加します(これを行わないと、ネイティブプラグインは前のバージョンにロールバックします):

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

これにより、インストールが成功したことがネイティブプラグインに通知されます。

その後、以下を実行して npm run build && npx cap copy アプリをアップデートします。

Capgo CLOUD にログイン

まず、以下を使用します: all apikey アカウントに表示されている CLI でログインするには:

npx @capgo/cli@latest login YOU_KEY

最初のアプリを追加

CLI を使用して、まずは Capgo Cloud でアプリを作成しましょう。

npx @capgo/cli@latest app add

このコマンドは、Capacitor の設定ファイルで定義されたすべての変数を使用してアプリを作成します。

最初のバージョンをアップロードする

次のコマンドで、code をビルドして Capgo に送信します: npx @capgo/cli@latest bundle upload

デフォルトでは、バージョン名はお使いの ... のものになります package.json ファイル。

確認 Capgo ビルドが存在するかどうか。

さらに、こちらでテストも可能です: モバイル sandbox アプリ.

チャンネルをデフォルトに設定

アプリを Capgo に送信した後、チャンネルを default Capgo からのアップデートをアプリが受信できるように設定する必要があります。

npx @capgo/cli@latest channel set production -s default

デバイスで Live Update を受信する

Deploy から live update を受信するには、デバイスまたはエミュレータでアプリを実行する必要があります。最も簡単な方法は、以下のコマンドを使用して、エミュレータまたはコンピュータに接続されたデバイスでローカルアプリを起動することです。

npx cap run [ios | android]

アプリを開き、バックグラウンドに送ってから再度開くと、ログにアプリがアップデートを実行したことが表示されるはずです。

おめでとうございます! 🎉 初めての Live Update のデプロイに成功しました。これは Live Updates でできることのほんの始まりです。詳しくは、完全な Live Updates ドキュメント.

ローカルでのアップデート受信を停止するには、次のコマンドを実行してください npx @capgo/cli@latest channel set

次へ:Capacitor-updater を使用して Capacitor アプリをシームレスにアップデートする

使用している場合 Capacitor-updaterでCapacitorアプリをシームレスにアップデート 移行とエンタープライズ運用を計画するには、次と連携してください Capgo エンタープライズ Capgo Enterprise のプロダクトワークフロー向けに、 Ionic Enterprise プラグインの代替案 Ionic Enterprise Plugin Alternatives のプロダクトワークフロー向けに、 Capgo の代替案 Capgo Alternatives でのプロダクトワークフロー向け、 Capgo コンサルティング Capgo Consulting でのプロダクトワークフロー向け、および Capgo プレミアムサポート Capgo Premium Support でのプロダクトワークフロー向け。

Capacitor アプリ向けの Live Updates

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

最新のブログ記事

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