メインコンテンツにジャンプ
直接更新

最新バージョンを表示する

デフォルトでは、live update はダウンロード後 1 回のセッションを実行します。直接更新モードでは、起動時に適用されます。スプラッシュ画面の後、最初の画面に表示されるのはすでに新しいバージョンです。

マーティンから人間のサポート

atInstall、onLaunch、または常に
スプラッシュ画面は、更新が完了するまで待機します。
Δダウンロードは待ち時間を短くします。

問題

直接アップデートの問題

デフォルトモードでは、バックグラウンドアップデートは1つのセッション遅れて到着します。

1

ユーザーがアプリを開く

アプリはすでにインストールされているバンドルで起動します。アップデータは新しいバンドルのダウンロードをバックグラウンドでチェックし、ダウンロードします。

2

セッションは現在のバージョンを実行します。

残りのセッション中、ユーザーはあなたの修正前にインストールされたcodeを実行します。

3

アップデートは次の再開時に適用されます。

ユーザーがアプリを離れると、アップデータは新しいバンドルをインストールします。次にアプリを開くと、ユーザーはそれを見ることができます。

ほとんどのリリースでは、これが正しいトレードオフです。セッションがあなたのアップロード後に始まる場合、最初のセッションが新しいcodeを実行する必要がある場合、直接アップデートモードを使用してください。

最初のセッションが重要な場合

支払いフローまたはログインフローが破損している

アプリを開いたユーザーは、修正が適用される前に、もう一度壊れた画面を通らなくなるようにする。

ウェブ層のセキュリティ修正

起動時には修正されたJavaScriptが実行されるように、次のセッションではなく。

古い変更

初めてアプリを開いたユーザーが見る画面で表示される、現在の情報が必要な場合。

ソリューション

直接アップデートモードでは何が変わります

アップデータは起動時、スプラッシュ画面が表示されている間、バンドルの更新をチェックします。新しいバンドルが利用可能な場合、スプラッシュ画面が非表示になる前にダウンロードして適用します。

バックグラウンドモード (atBackground)

1
ユーザーがアプリを開く
2
アプリは現在のバージョンを表示します
3
アップデートはバックグラウンドでダウンロードされます
4
アップデートは次の再起動時に適用されます。

起動時に待機せず、1回目のセッション後にアップデートが表示されます。

直接モード (onLaunch)

1
ユーザーがアプリを開き、スプラッシュ画面が表示されます。
2
アップデータは変更されたファイルを確認し、ダウンロードします。
3
アップデートが適用され、スプラッシュ画面が非表示になり、新しいバージョンが表示されます。

ユーザーは最初の画面で新しいバージョンを表示し、スプラッシュ画面がダウンロード中の待機画面になります。

アップデートの動作に関するドキュメント

どうやって機能するの?

直接モードの設定方法

直接モードはネイティブの設定であるため、ストアのビルドに含まれます。次に、live update はそれに続きます。コマンドは Capgo ドキュメントからです。

  1. スプラッシュ画面プラグインを追加し、モードを選択してください。

    capacitorをインストールし、capacitor.config.tsでautoUpdate、autoSplashscreen、launchAutoHideを設定してください。

    npm install @capacitor/splash-screen
    npx cap sync
    
    // capacitor.config.ts
    plugins: {
      CapacitorUpdater: {
        autoUpdate: 'onLaunch', // or 'atInstall' / 'always'
        autoSplashscreen: true,
        keepUrlPathAfterReload: true,
      },
      SplashScreen: { launchAutoHide: false },
    }
    起動画面の管理
  2. ビルドに設定を含める

    capacitor.configはネイティブアプリにコンパイルされるので、次のストアリリースで新しいモードがユーザーに届きます。Capgoビルドはクラウドで生成できます。

    npx @capgo/cli@latest build request --platform ios
    npx @capgo/cli@latest build request --platform android
    Capgoビルドドキュメント
  3. アップロードするパッケージはdelta

    ユーザーは起動待ちしているので、変更されたファイルのみを送信します。CLIは即時適用モードを検出して、deltaアップロードのプロンプトを表示します。

    npx @capgo/cli@latest bundle upload --channel production --delta
    deltaアップデートドキュメント
  4. 自動ロールバックを維持

    notifyAppReady()を呼び出してください。アプリが起動したら、notifyAppReady()を呼び出してください。新しいパッケージが起動できない場合、デバイスは最後に正常に起動したパッケージに戻ります。

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    await CapacitorUpdater.notifyAppReady()
    notifyAppReady()ドキュメント

モードを選択してください

直接アップデートは、最初の画面で新しいバージョンを表示することと、起動待ち時間の短縮の取引です。

3つの即時適用モード

Capgoの設定ファイルcapacitor.config.tsにautoUpdateを設定します。各モードは、ユーザーが待っている間にアップデートを適用するタイミングを決定します。

  • atInstall: 最初のインストールまたはネイティブアプリのストアアップデートの直後のみ
  • onLaunch: アプリが起動したときに、起動状態が終了した状態 (冷たい起動) の場合
  • always: アプリが開いている間、常に前景のチェックを行う
アップデート設定

3

即時適用モード

スプラッシュ画面の扱い

Direct modes には、@capacitor/splash-screen が必要であり、launchAutoHide を false に設定し、autoSplashscreen を true に設定する必要があります。アップデーターは、更新が適用されたとき、または更新が必要ないときにスプラッシュ画面を非表示にします。

  • スプラッシュ画面の非表示を手動で呼び出す必要はありません
  • keepUrlPathAfterReload は、リロード後にユーザーが同じルートに残るようにします
  • アプリが起動したときに、スプラッシュが非表示になったら、extra work を行う必要がある場合は appReady をリスンしてください
スプラッシュ画面の扱い

autoSplashscreen

すべての直接モードで必要

トレードオフの計画

ユーザーは起動時にダウンロードを待ち、常にアップデートが可能なので、実行中のアプリを再読み込みできます。両方を計画してください。

  • 変更されたファイルのみをダウンロードするために--deltaオプションを使用してアップロード
  • アプリの状態を保存して復元することで、再読み込みがユーザーの進捗を失うことなく実行できるようにします。
  • デフォルトのモードを維持することで、1つのセッションの遅延が十分である場合に使用できます。
デルタアップデートドキュメント

--delta

すべての直接アップロードの推奨

直接アップデートの使用時期

現在のセッションで新しいcodeを実行する必要がある場合に直接モードを使用し、すべての他の場合にはデフォルトを維持してください。

重要なバグ修正

支払い、ログイン、またはデータのバグの場合、1つのセッションで古いcodeを実行することはあまりにも多いためです。

初回起動の導入

インストール時に最新のパッケージを適用すると、新規ユーザーは現在の導入プロセスから始めることができます。

古いコンテンツ

ユーザーがアプリを開いたときに表示されるイベントページ、通知、または利用規約は、最新のものでなければなりません。

セキュリティパッチ

ウェブ層のセキュリティ修正は、起動時に実行されるべきです。ネイティブのcodeの修正は、ストアのリリースが必要です。

定期的なリリース

スタイリングの微調整や小さな機能は、起動待ちを長くする理由ではありません。デフォルトモードでは、1セッション後に適用されます。

長時間開いたままのアプリ

常に、または一定の間隔 (デフォルトでは 10 分間隔) で、更新を適用できます。アプリが開いている間、保存された状態を使用してください。

起動待ちを短くする

起動待ちは、更新のチェックとダウンロードの合計時間です。デルタ更新では、変更されたファイルのみをダウンロードします。

~50ms

一般的な API ラテンシ

Δ

変更されたファイルのみがダウンロードされます

1B+

月に配信されるアップデート

Capacitor で作られたアプリ

公的情報アプリには、修正が必要な緊急コンテンツが必要

緊急、健康、市民アプリでは、チェックリスト、リソースリンク、場所固有の注意が壊れた場合に、数日間待つことはできません。直接更新により、Web層は修正が承認されたときに動き出すことができます。

FEMAアプリアイコン 気象

FEMA

小さなコンテンツのミスが急務になる状況で、緊急の指導が必要です。

Google Play インストール
1.6M
医療
4.0
Conecte SUS MEDICAL

1.6M

ストア評価

Google Play インストール
27.7M
ストア評価
4.6
e-Títuloアプリのアイコン 社会

e-Título

デバイス間でバージョン安全なガイダンスが必要な市民身分証明書ワークフロー

Google Playのインストール数
54.9M
ストア評価
4.8

顧客の証明

Capgo を使用しているチームが言っていること

5.0/5 開発者チームから評価されています 9,400+ チーム レビューを読む

カピル

ヌトリQの創業者

「アプリのストアのフルレビューサイクルを待たずに即時で生産用のOTAアップデートをプッシュできることは、運用上の莫大な利点でした。」

ポートレートのセルジウ・S

セルジウ・S

ドライヴォリノ・GmbHのリード開発者

「CapgoのCapgo Capacitor Updaterプラグインは、更新を配信する方法を大幅に変えました。 これまでの1日かかりの作業は、わずか数分で完了します。」

Luis Dominguez

Anirol

5 out of 5 stars

“Since I started using Capgo everything is faster, and I can give my users the time they deserve without neglecting my daily life.”

質問

直接アップデートについて

Capgoの直接アップデートを使用するタイミング、設定方法、およびリリース時点でのコストについて。

どの場合に直接アップデートを使用するか、設定方法、初期コストについて

Use the default for most releases: there is no wait at launch, and users get the update one session later. Use a direct mode when the session that starts after your upload must run the new code, for example a broken checkout or a web-layer security fix.

直接アップデートか、デフォルトのバックグラウンドモードを使用するかどうかについての質問です。

atInstall、onLaunch、alwaysの違いは何ですか?

atInstallは、nativeアプリの新しいインストールまたはストアの更新後にのみ更新を適用し、その後デフォルトの動作になります。 onLaunchは、起動時にアプリがキルされた状態から始まる場合にすぐに適用されます。 alwaysは、フォアグラウンドのチェックを実行し、ダウンロードが完了したときにすぐに適用されます。ユーザーがアプリ内にいる場合も同様です。

アップデータ設定

スプラッシュ画面プラグインはなぜ必要ですか?

ダイレクトモードは、ユーザーが待っている間にアップデートを適用します。 @capacitor/splash-screen、autoSplashscreen: true、launchAutoHide: falseがなければ、ユーザーは古いUIを短時間見るか、古い画面をちらつかせることがあります。 これらを設定すると、スプラッシュ画面はアップデートが適用されるか、アップデートが必要ないことをアップデータが知るまで表示され続けます。

スプラッシュ画面の管理

Can we turn on direct updates with a live update?

No. autoUpdate lives in capacitor.config, which is read into the native app at build time. Ship the new setting in a store release. After that, every live update follows the new mode.

ネイティブ互換性ドキュメント

atInstall、onLaunch、alwaysの違いは何ですか?

atInstallは、nativeアプリの新しいインストールまたはストアの更新後にのみ更新を適用し、その後デフォルトの動作になります。 onLaunchは、起動時にアプリがキルされた状態から始まる場合にすぐに適用されます。 alwaysは、フォアグラウンドのチェックを実行し、ダウンロードが完了したときにすぐに適用されます。ユーザーがアプリ内にいる場合も同様です。

アップデータ設定

次の修正を最初の画面に表示

直接アップデートモードを試して、試験ビルドで待ち時間を測定してみてください。

マーティンから人間のサポートを受けます。

14日間の無料試用。クレジットカードは必要ありません。