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

Live UpdatesなしでNative Buildをテスト

新しいネイティブバイナリをテストするときは、以前にダウンロードした live update ではなく、そのバイナリにバンドルされた Web アセットから起動することを確認してください。以下の対策を1つ使うか、組み合わせてください。

設定 CapacitorUpdater.version ネイティブリリースで使用したバージョンから始め、ネイティブビルドごとに上げます。新しいネイティブベースラインにより、インストールされたバイナリは古いバンドルと区別され、デフォルトの resetWhenUpdate: trueにより、新しいネイティブアプリがインストールされると、ダウンロード済みのバンドルが削除されます。

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
// Keep this aligned with, and increase it for, every native build.
version: pkg.version,
autoUpdate: 'atBackground',
},
},
};
export default config;

例えば、でビルドされたバイナリは version: '1.4.1' よりネイティブベースラインが高く、既存の 1.4.0 bundleとは異なります。バンドルされたアセットを検証する必要がある場合は、ネイティブバージョンを再利用しないでください。

2. コンソールでEmulatorとDevelopment Buildのアップデートをブロックする

「2. コンソールでエミュレーターおよび開発ビルドの更新をブロックする」セクション

アプリをCapgoコンソールで開き、 チャンネルに移動し、ビルドで使用されているチャネルを選択して、 情報 タブを開きます。 をオフにします 両方 開発ビルドを許可 と エミュレータを許可.

Capgo チャンネルの「情報」タブで、「開発ビルドを許可」と「エミュレーターを許可」の設定を表示
これらのコントロールは、チャンネルの「情報」タブにあります。ハイライトされた両方の設定を無効にすると、開発ビルドとエミュレーターはバンドルされたWebアセットを使用し続けます。

このチャンネルポリシーは、選択されたビルドタイプでのみ更新の配信をブロックします。本番環境で署名された物理デバイスには、チャンネルの他の設定に従って引き続き更新を配信できます。

3. Native CI ビルドでのみ Live Updates を有効にする

「3. Native CIビルドでのみLive Updateを有効にする」セクション

ローカル、エミュレーター、開発者ビルドをデフォルトで安全にしたいチームは、環境変数で Live Update をオプトインにしてください。以下の設定では、次の条件を満たさない限り、アップデートチェックを無効にします: CAPGO_LIVE_UPDATES が厳密に true:

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const liveUpdatesEnabled = process.env.CAPGO_LIVE_UPDATES === 'true';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// Bump package.json for every native build.
version: pkg.version,
// Local builds are off; native CI explicitly enables live updates.
autoUpdate: liveUpdatesEnabled ? 'atBackground' : false,
},
},
};
export default config;

ネイティブアプリを同期・ビルドする CI ステップでのみ、この変数を設定します:

- run: CAPGO_LIVE_UPDATES=true npx cap sync
- run: ./build-native-app.sh

実行 npx cap sync 変数を設定した後に実行してください。Capacitor は同期時にこの設定をネイティブプロジェクトへコピーするためです。変数がない場合、ローカルビルドとエミュレータービルドは autoUpdate: false を維持し、Live Update のチェックを行いません。

  1. ネイティブバイナリ用に CapacitorUpdater.version が使用するバージョンを上げます。
  2. 無効 開発ビルドを許可 と エミュレータを許可 これらのビルドタイプをテストする際は、そのチャンネルで。
  3. ローカルでビルド(〜なし) CAPGO_LIVE_UPDATES.
  4. 設定 CAPGO_LIVE_UPDATES=true 直前のみ npx cap sync ライブアップデートを受け取るべきネイティブ CI ジョブ内で。