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

@capgo/capacitor-updater

capacitor アプリ向けの Live update

Capgo のライブアップデートは Capacitor に限定されません。同じバックエンドと CLI を、兄弟クライアントプラグインでも利用できます:

@capgo/capacitor-updater が配信されます。 JavaScript バンドルのアップデート ストア審査を待たずに本番の Capacitor アプリへ配信。署名済みバンドルをバックグラウンドでダウンロードし、チャネルと遅延ルールでロールアウトを制御し、次の場合はロールバック: notifyAppReady() 設定された期間内に呼び出されない場合 appReadyTimeout.

主な用途: 本番環境のバグのホットフィックス、チャネルごとの段階的ベータ、A/B UI 実験、および組み込みバンドルへの緊急ロールバック。

プラットフォームサポート
iOSとはい
Androidでははい
WebBundleはホストされた静的サイトではなく、ネイティブシェル内のWebViewレイヤーに適用されます

CordovaとElectronクライアントは、上記でリンクされている関連プラグインを同じCapgoバックエンドで利用します

  • notifyAppReady - JavaScript の初期化が正常に完了したことをネイティブレイヤーに通知します。
  • setUpdateUrl - アプリのアップデートURLを実行時に動的に設定します。
  • setStatsUrl - アプリの統計URLを実行時に動的に設定します。
  • setChannelUrl - アプリのチャネルURLを実行時に動的に設定します。
メソッド説明
notifyAppReadyJavaScript の初期化が正常に完了したことをネイティブレイヤーに通知します。
setUpdateUrlアプリのアップデートURLを実行時に動的に設定します。
setStatsUrlアプリの統計URLを実行時に動的に設定します。
setChannelUrlアプリのチャネルURLを実行時に動的に設定します。
download指定されたURLから新しいbundleをダウンロードし、後でインストールできるようにします。
nextアプリがバックグラウンドに移行したとき、または再起動したときに有効にする次のbundleを設定します。
set現在の bundle を設定し、すぐにアプリをリロードします。
deleteローカルストレージからbundleを削除して、ディスク容量を解放します。
setBundleError手動アップデートモードで、bundleを失敗/エラーとして手動でマークします。
listアプリ内に保存されている、ローカルにダウンロード済みのすべてのbundleを取得します。
resetアプリを正常動作が確認済みのbundleにリセットします。
current現在アクティブなbundleに関する情報を取得します。
reload保留中のアップデートを適用するために、アプリを手動でリロードします。
setMultiDelay保留中のアップデートを適用する前に満たすべき条件を設定します。
cancelDelayすべての遅延条件をキャンセルし、保留中のアップデートを即座に適用します。
getLatestアップデートサーバーに利用可能な最新のbundleバージョンを確認します。
setChannelこのデバイスにローカルのランタイムアップデートチャネルを設定します。ダッシュボードや API のデバイスオーバーライドは作成されません。
unsetChannelデバイスのチャネル割り当てを解除し、デフォルトチャネルに戻します。
getChannelこのデバイスに現在割り当てられているチャネルを取得します。
listChannelsこのデバイスが自分で割り当て可能なすべてのチャネルの一覧を取得します。
setCustomIdこのデバイスにカスタム識別子を設定します。
getBuiltinVersion組み込みのbundleバージョン(ネイティブアプリに同梱されている元のバージョン)を取得します。
getDeviceIdプライバシーに配慮した、このデバイス固有の識別子を取得します。
getPluginVersionアプリにインストールされている Capacitor Updaterプラグインのバージョンを取得します。
isAutoUpdateEnabled自動アップデートが現在有効かどうかを確認します。
removeAllListenersこのプラグインに登録されているすべてのイベントリスナーを削除します。
addListenerアプリ内でのbundleダウンロードイベントをリッスンします。ダウンロードの開始時、進行中、完了時に実行されます。ダウンロード中の進捗率をすべて返します。
addListenerアップデート不要イベントをリッスンします。アプリ起動時に毎回強制チェックしたい場合に便利です。
addListeneravailable update イベントを検知します。アプリ起動時に毎回強制的にチェックしたい場合に便利です。
addListenerdownloadComplete イベントを検知します。
addListenerバックエンドが現在のアプリと互換性がないと判断した際に breaking update イベントを検知します。ペイロードはレガシー版と同じです。 majorAvailable リスナーを通じて通知されます。
addListenerアプリ内で Major アップデートイベントを検知します。disableAutoUpdateBreaking の設定でメジャーアップデートがブロックされた際に通知されます。
addListenerアプリ内でアップデート失敗イベントを検知します。次回のアプリ起動時にアップデートのインストールに失敗した際に通知されます。
addListenerアプリ内で set イベントを検知します。bundle が正常に適用された際に通知されます。このイベントは JavaScript で処理されるまでネイティブ側で保持されるため、リスナーがアタッチされる前にアプリがリロードされた場合でも、最後に保留されていた set イベントはリスナーが購読したタイミングで配信されます。
addListenerアプリ内で set next イベントを検知します。次にインストールする bundle としてキューに追加された際に通知されます。
addListenerアプリ内でダウンロード失敗イベントを検知します。bundle のダウンロードに失敗した際に通知されます。
addListenerアプリ内で reload イベントを検知します。リロードが発生した際に通知されます。
addListenerアプリ内で app ready イベントを検知します。アプリが使用可能な状態になった際に通知されます。このイベントは JavaScript で処理されるまでネイティブ側で保持されるため、アプリ起動時の遅いタイミングでリスナーをアタッチしても、リロード後に配信される可能性があります。
addListenerデバイスの自己割り当てが許可されていないチャネルを設定しようとした際に発火する、チャネルのプライベートイベントを監視します。
addListenerAndroid でのフレキシブル更新の状態変更を監視します。
isAutoUpdateAvailable自動更新機能が利用可能かどうか(カスタムサーバー設定で無効化されていないか)を確認します。
getNextBundle次のリロード時にアクティブ化されるようキューイングされているバンドルに関する情報を取得します。
getFailedUpdate読み込みに失敗した最新のバンドルに関する情報を取得します。
setShakeMenuデバッグおよびテスト用のシェイクジェスチャーメニューを有効化または無効化します。
isShakeMenuEnabledシェイクジェスチャーデバッグメニューが現在有効かどうかを確認します。
setShakeChannelSelectorランタイムでシェイクチャネルセレクターを有効化または無効化します。
isShakeChannelSelectorEnabledシェイクチャネルセレクターが現在有効かどうかを確認します。
getAppId更新サーバーとの通信に使用される、現在設定されている App ID を取得します。
setAppIdアップデートサーバーとの通信に使用する App ID を動的に変更します。
getAppUpdateInfoApp Store または Play Store でのアプリの公開状況に関する情報を取得します。
openAppStoreApp StoreまたはPlay Storeでアプリのページを開きます。
performImmediateUpdateAndroidで即時のアプリ内アップデートを実行します。
startFlexibleUpdateAndroidでフレキシブルなアプリ内アップデートを開始します。
completeFlexibleUpdateAndroidでフレキシブルなアプリ内アップデートを完了します。

このリファレンスは以下から同期されています: src/definitions.ts における capacitor-updater.

@capgo/capacitor-updater からそのまま続行

「@capgo/capacitor-updaterから続ける」セクション

使用している場合 @capgo/capacitor-updater ネイティブプラグインの作業を計画するには、次と連携してください: @capgo/capacitor-updater を使用する 「@capgo/capacitor-updater を使用する」のネイティブ機能については、 Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新における実装詳細については、および Ionic Enterprise プラグインの代替案 Ionic Enterprise プラグインの代替案におけるプロダクトワークフローについては。