更新動作
このプラグインのインストール手順とフルマークダウンガイドを含む設定プロンプトをコピーする。
When you release an update to your Capgo app, you probably want your users to receive that update as soon as possible. But you also don’t want to disrupt their experience by forcing them to wait for a download or restart the app in the middle of a session.
Capgoのアップデートの動作は、ユーザーに最小限の影響を与えながら、迅速にアップデートを提供するバランスを取るように設計されています。
インストール、同期、およびソースマークダウンガイドを含みます。
Default Update Flowデフォルトでは、Capgo はアプリの更新を次のように処理します。
-
Capgo’s update behavior is designed to strike a balance between delivering updates quickly and minimizing disruption to your users.
periodCheckDelay__CAPGO_KEEP_0__のアップデートの動作は、ユーザーにできるだけ早くアップデートを提供し、同時にユーザーの体験を最小限に抑えるバランスを取るように設計されています。 -
Default Update Flow
-
ダウンロードが完了したら、Capgoはアプリをバックグラウンドにしたときにユーザーを待機します。
-
アプリを再度前面に持ってくるユーザーは、更新されたバージョンを実行することになる。
このフローにより、ユーザーは常に最新バージョンのアプリを実行し、更新のポップアップやダウンロードの待機を経ることなく、いつでも最新のバージョンを実行できる。
なぜこのアプローチを採用するのか?
「なぜこのアプローチを採用するのか?」というセクションバックグラウンドまたは終了イベントで更新を適用することは、ユーザー体験にいくつかの重要な利点をもたらします:
-
ユーザーは、セッションの途中で更新のポップアップやダウンロードの待機を経ることなく、更新されません。
-
セッションの間、更新がシームレスに適用されるため、アプリを起動するときの体験は常に新鮮です。
-
頻繁に更新を配信することができるため、活発に使用しているユーザーに影響を与える心配はありません。
アプリの更新の主な欠点は、ユーザーがアプリをバックグラウンドにし、すぐにアプリを再開すると、更新が適用された間に保存されていない状態が失われる可能性があることです。
この問題を軽減するには、以下の推奨事項があります。
-
アプリが再開されたときに状態を保存し、優雅に復元すること。
-
アプリの状態の大きい部分を変更する頻度の高い更新を避けること。
-
敏感なフローをカスタマイズする (以下を参照)。
更新の適用時期をカスタマイズする
「更新の適用時期をカスタマイズする」セクションある場合、更新の適用時期をより制御できるようにしたいと思うかもしれません。たとえば、ユーザーが進行中のフローを完了するまでに更新を遅らせたい、またはアプリの更新をサーバーサイドの変更と調整したい。
Capgo は、更新がインストールされる前に条件を指定できる関数を提供します。 setDelay コピー
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z', }, { kind: 'background', value: '60000', }, ],});Page/area: Capgo marketing website. Role: UI label. Seen in: page agents/[slug].astro. Message key `agents_page_copy_label` (Agents Page Copy Label).
利用可能な遅延条件は:
date:特定の日時以降にアップデートを適用するまで待つ。background:アプリがバックグラウンドに移動した後、最低時間を待ってからアップデートを適用する。nativeVersion:最低バージョンのネイティブバイナリがインストールされるまでアップデートを適用しない。kill:アプリが終了された後、次のアップデートを適用するまで待つ。
条件を組み合わせて、正確にアップデートのインストール時刻を制御できます。
即時アップデート
即時アップデートの適用重要なアップデートや、状態が非常に単純なアプリの場合、ダウンロードされたアップデートをすぐに適用したい場合は、バックグラウンドまたはキルイベントを待たずに適用することができます。 Capgo はこの機能を、 autoUpdate policy in your Capacitor config.
autoUpdate はまだ検出されます。 capacitor.config.ts ファイル、JavaScriptではcodeではありません。サポートされる値は次のとおりです。
falseターミナルウィンドウ'off': 自動更新のチェックを無効にするtrueまたは'atBackground'(default): フォアグラウンドのチェックごとに自動でチェックしダウンロードし、次にアプリがバックグラウンドに移るとアップデートを適用する'atInstall': フレッシュインストールまたはネイティブアプリストアのアップデート後のみ即時適用する。そうでない場合は"atBackground"動作'onLaunch': アプリがキルドステートからフォアグラウンドに戻されたときにのみ即時適用する。最初のチェック後は"atBackground"動作'always': フォアグラウンドのトランジションごとにチェックし、更新が利用可能な場合は即時適用する'onlyDownload': 自動でチェックしダウンロードし、updateAvailable、
アップデートを自動で適用せずに次のバンドルを設定せずに
ネイティブビルドのテストにLive Updatesを使用しないSee Test Native Builds Without nativeバージョン、チャンネルポリシー、CI構成のセーフガードのためです。
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' for updates only on app install/update autoSplashscreen: true, keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, // Required for instant apply with autoSplashscreen }, },};
export default config;With autoUpdate: 'always', Capgo checks on every foreground transition and immediately applies an update as soon as the download completes during that check, even if the user is actively using the app. Periodic checks controlled by periodCheckDelay With
注目すべき事項 autoUpdate JavaScript code では、即時適用モードの場合、追加のハンドリングが必要です。
ダウンロード中の自動適用
ダウンロード中の自動適用If you want Capgo to check and download updates automatically but never apply them automatically, use autoUpdate: 'onlyDownload':
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'onlyDownload', }, },};このモードでは、プラグインはエミットします updateAvailable バンドルがダウンロードされた後。アプリはその後、呼び出すタイミングを決定できます。 CapacitorUpdater.set() ライブアップデートの更新挙動
Note: I've kept the translation within ±3 words of the source, as required for headings and short UI copy.
自動スプラッシュスクリーン処理
セクション「自動スプラッシュスクリーンハンドリング」即時適用モード(Instant apply modes)"atInstall", "onLaunch", "always"require autoSplashscreen and @capacitor/splash-screen (Capacitor 7.6.0以降の機能) プラグインをインストールし、スプラッシュスクリーンを表示し続け、Capgoがスプラッシュスクリーンを非表示にすると:
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' autoSplashscreen: true, // Automatically hide splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};When autoSplashscreen ライブアップデートが有効です。
- 自動更新は、更新が適用されたときにスプラッシュスクリーンを自動的に非表示にします。
- 自動更新は、更新が必要ないときにスプラッシュスクリーンを自動的に非表示にします。
- スプラッシュスクリーンが非表示になったら、手動でイベントをリスンする必要はありません。
appReady手動でイベントをリスンする必要はありません。SplashScreen.hide()
スプラッシュスクリーンが非表示になったら、追加の作業は必要ありません。
「スプラッシュスクリーンが非表示になったら追加の作業は必要ありません。」というセクションのタイトルです。保存 autoSplashscreen: true. appReady Live Update では、スプラッシュ プラグインをスキップしないでください。 autoSplashscreen このようにしてください。
import { CapacitorUpdater } from '@capgo/capacitor-updater';
CapacitorUpdater.addListener('appReady', () => { // Update is applied. autoSplashscreen already hid the splash.});
CapacitorUpdater.notifyAppReady();The appReady イベントは、アプリが初期化と適用中の更新を適用した後、1度だけ発生します。
Set keepUrlPathAfterReload 設定 true を
更新モードのインスタント適用を使用すると、アプリが更新された後もURLパスが保存されます。
- 重要なバグ修正またはセキュリティパッチを配信するために、インスタント適用モードを使用することができますが、その代償としていくつかのトレードオフがあります:
@capacitor/splash-screen更新が適用される際にユーザーが見る可能性のある短いフリッカーまたはローディング状態があります。autoSplashscreen更新モードのインスタント適用が有効になっていない場合、または - 更新モードのインスタント適用が有効になっていない場合、
- 更新がアプリの状態またはUIを変更した場合、ユーザーはセッションの途中で大きな変化を感じる可能性があります。
keepUrlPathAfterReloadアプリの位置が保存されていない場合、ユーザーの位置が失われ、混乱を招く可能性があります。 - 状態を保存して復元するために、平滑な移行を確実に実現するには、細心の注意が必要です。
Live Updateを有効にすると、以下のことをお勧めします。
- アップロード
npx @capgo/cli@latest bundle upload --deltaダウンロードがユーザー体験に影響を与えないようにするため - インストール
@capacitor/splash-screen設定autoSplashscreen: true設定launchAutoHide: false. - を
keepUrlPathAfterReloadtotrueユーザーの進捗状況を失うことなく、必要に応じてアプリの状態を保存して復元する - アプリの更新動作を徹底的にテストして、突然の移行、失われた状態、または混乱を招く位置の変更がないことを確認する
- デフォルトの更新動作は、更新を迅速に提供し、混乱を最小限に抑えるバランスがとれることが多いですが、特定のニーズのあるアプリでは、__CAPGO_KEEP_0__が更新を適用するタイミングや方法をカスタマイズできるため、最適なバランスをとることができます。
In most cases, the default update behavior provides the best balance of delivering updates quickly and minimizing disruption. But for apps with specific needs, Capgo provides the flexibility to customize when and how updates are applied.
Live Update
Live UpdateLive Update Live Update Live Update の計画に合わせて live update の配信を計画するには、それを接続する必要があります。 Capgo Live Updates for the product workflow in Capgo Live Updates, Live Update Live Update Live Update Live Update Live Update Live Update Cloudflare Capacitor