__CAPGO_KEEP_3__
このプラグインのインストールステップとフルマークダウンガイドのセットアッププロンプトをコピーする
Live Update チャネルは、任意のデバイスがそのチャネルに接続して更新を待っている場合に、特定のJSバンドルビルドのアプリケーションを指します。 Capgo Live Updates SDK をアプリケーションにインストールすると、チャネルに接続されている任意のネイティブバイナリは、起動時にアプリケーションが利用可能な更新をチェックします。必要に応じて、チャネルが指すビルドを変更することもできます。また、必要に応じて前のビルドに戻すこともできます。 チャネルは機密性を提供しない
__CAPGO_KEEP_1__
チャンネルを選択する順序(優先順位)についてデバイスがアップデートを確認するとき、Capgoは、次の順序(優先順位が高い順)でチャンネルを選択します:
- デバイスのマッピング(ダッシュボード) – 重要なデバッグや制御テストに使用するために、特定のデバイスIDをチャンネルに固定します。
- Cloud override (per‑device) via Dashboard or API Cloud override (per‑device) via Dashboard or API
- – ダッシュボードまたは__CAPGO_KEEP_0__でデバイスのチャンネルを変更すると作成されます。QAユーザーが機能/PRチャンネル間で切り替えたいときやユーザー問題を再現したいときに使用します。バイナリを再インストールしても消去されませんが、デバイスエントリを削除すると消去されます。
setChannel()プラグイン ローカルチャンネルsetChannel()– アプリが呼び出し、バックエンドがターゲットチャンネルが自己割り当てを許可していることを検証した場合に作成されます。選択されたチャンネルは、デバイス上でローカルに保存され、即座に効果を発揮し、デバイスオーバーライドUIに表示されません。
- Capacitor
defaultChannel__CAPGO_KEEP_0__ __CAPGO_KEEP_0__capacitor.config.*と、強制/オーバーライド/ローカルチャネルが存在しない場合、Appはこのチャネルで起動します (例えば、beta,qa,pr-123)。テストフライト/内部ビルド用に設計されており、テスターは自動的にプレリリースチャネルに到達します。生産ビルドは通常、この値を未設定にします。 - Cloud Default Channel (主なパス ~99% のユーザー) – ダッシュボードでデフォルトチャネルをマークすると、すべての通常のエンドユーザー (強制なし、ダッシュボード/API オーバーライドなし、プラグインローカルチャネルなし、config defaultChannelなし) にアタッチします。変更すると即座にロールアウトまたはロールバックできます—新しいバイナリなし。プラットフォーム固有のデフォルト (例えば、iOSのみ、Androidのみ、Electronのみ) を持っている場合、各デバイスは対応するプラットフォームのデフォルトにアタッチします。Cloud Defaultを未設定にすると許可されます。そうすると、デバイスはステップ 1–4 にマッチする場合にのみ更新を受け取ります。
ベストプラクティス:
- ステップ 1–4 を例外/テストレイヤーとして扱い、Cloud Defaultを設定した場合、実ユーザーはそれに流れ込むようにします。Cloud Defaultを設定しない場合は、ユーザーがアタッチする方法については、明確に意識してください (通常は
defaultChannelconfigまたはデバイスごとのオーバーライドを使用します。 - Only configure
defaultChannelテスターに明示的に配布するバイナリのみに設定します。Cloud Defaultを未設定にすると、生産ロジックはダッシュボードに集中するので、生産環境では - sparingly使用してください—主にQAまたはターゲットされた診断用です。
setChannel()チャネルがプラットフォーム (iOS/Android/Electron) で無効になっている場合 (トグル)、選択プロセスはそれをスキップし、リストの次の項目に進みます。
]}
概要: Force > ダッシュボード/API Override > プラグイン
setChannel()ローカル チャネル > 設定defaultChannel> Cloud Default.
デフォルト チャネル ビハビアー
セクションのタイトル “デフォルト チャネル ビハビアー”クラウド デフォルトを設定することは任意ですが、通常は新しいデバイスのキャッチオール パスとして機能します。 1 つがなければ、強制マッピング、オーバーライド、または「__CAPGO_KEEP_0__」設定にマッチするデバイス以外のデバイスは更新を受け取りません。 1 つを選択する場合、次のパターンを考慮してください: defaultChannel in the Capacitor config will receive updates. When you do choose to mark defaults, keep these patterns in mind:
- – iOS、Android、および Electron が有効になっているチャネルが 1 つだけの場合、デフォルトになります。 オーバーライドなしのデバイスはここにアタッチされます。 プラットフォーム固有のデフォルト
- – プラットフォームを分割する (例えば、iOS のみが有効になっている場合、 Platform-specific defaults
ios-production– If you split channels by platform (for example, with only iOS enabled,android-productionAndroidのみ有効にし、electron-productionElectronのみ有効にした場合、それぞれのプラットフォームのデフォルトとしてそれぞれをマークします。 iOSデバイスはiOSデフォルトに、AndroidデバイスはAndroidデフォルトに、ElectronアプリはElectronデフォルトにアクセスします。
Cloudflareのデフォルトを思い出してくださいが、 defaultChannel 両方とも同じ決定層を占めます。Cloudflareのデフォルトを設定すると、__CAPGO_KEEP_0__の設定に値を複製する必要がなくなります—生産用ビルドの場合に空白のままにします。 capacitor.config.* both occupy the same decision layer. If you set a cloud default, you don’t need to duplicate the value in your Capacitor config—leave defaultChannel プロダクションチャンネル以外の非生産チャンネルで始める場合にCloudflareのデフォルトが異なる場合でも。 defaultChannel デフォルトをいつでもダッシュボードで変更できます。デフォルトを入れ替えると、新しいデバイスは新しいルーティングに即座に従い、既存のデバイスは次回チェックインするときに通常の優先順位ルールに従います。
チャンネルの設定
ダッシュボードの「チャンネル」セクションに移動してください
- Capgo
- Click the “New Channel” button
- New Channelボタンをクリックしてください
Channel names can be anything you’d like. A common strategy is to match channels to your development stages, such as:
Development- ローカルデバイスまたはエミュレータでライブ更新をテストするQA- QAチームが広範なリリース前にアップデートを検証するStaging- プロダクション環境に似た環境で最終テストを行うProduction- アプリストアからユーザーが受け取るアプリのバージョン
Configuring the Channel in Your App
アプリ内でチャンネルを設定するWith your channels created, you need to configure your app to listen to the appropriate channel. In this example, we’ll use the Development channel.
Open your capacitor.config.ts (または capacitor.config.jsonセクションの下、オプションで設定 plugins for defaultChannel テストビルド (内部 / QA)。生産ビルドの場合、デバイスが Cloud Default を使用するようにするには、明示的にオーバーライドする必要があります。 コピー
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { // For a QA/TestFlight build – testers start on the Development channel automatically. defaultChannel: 'Development', // Production builds usually omit this so users attach to the Cloud Default channel. }, },};を実行して、更新された設定ファイルを iOS、Android、Electron プロジェクトにコピーします。設定の同期をスキップすると、以前の設定のままのネイティブ プロジェクトが使用され続けます。 npx cap sync 注意
チャネル オプションと戦略
「チャネル オプションと戦略」セクションチャネルには、更新を受け取ることができるユーザーと、更新が配信される方法を制御するオプションが複数あります。重要なものは以下のとおりです。Web アプリ、CLI、または Public API からこれらの設定を構成できます。
- デフォルト チャネル: 新しいデバイスが接続するチャネルまたはプラットフォーム固有のチャネルをオプションでマークします。ルーティング シナリオについては、「デフォルト チャネル ビヘイビア」を参照してください。
- プラットフォーム フィルタ: を有効または無効にします。
iOS,Android, またはElectronデバイスあたりチャンネルあたり。 - ネイティブ下での自動ダウングレードを無効にする: デバイスのネイティブアプリのバージョンがチャンネルのバンドルバージョンよりも新しい場合 (例: デバイスが 1.2.3 であるのに対し、チャンネルが 1.2.2 である場合)、アップデートを送信しないようにします。
- 開発用ビルドを許可する: 開発用ビルドへのアップデートを許可します (テストに便利)。
- エミュレータデバイスを許可する: テストに便利なエミュレータ/シミュレータへのアップデートを許可します。
- デバイスの自己割り当てを許可する: アプリが実行時、このチャンネルに切り替えることができます。
setChannel無効にすると、setChannelこのチャンネルでは失敗します。
段階的ロールアウト
セクションのタイトル “段階的ロールアウト”チャンネルは安定したバンドルを維持しながら、固有のデバイスコホートに別のロールアウトターゲットを段階的に公開することができます。ロールアウトを一時停止、再開、昇格、ロールバック、自動失敗応答の自動設定を行うことができます。ただし、すべてのユーザーにチャンネルを切り替える必要はありません。詳細は “段階的ロールアウト” を参照してください。 段階的ロールアウト ロールアウトモデル、ダッシュボードワークフロー、API フィールド、CLI コマンドについては “段階的ロールアウト” を参照してください。
自動更新戦略の無効化
「自動更新戦略の無効化」のセクションこのオプションを使用して、チャンネルが自動的に配信するアップデートの種類を制限します。オプション:
- メジャー: デバイスのネイティブ基準よりもメジャー バージョンが高いターゲット バンドルのブロック (
version_build)。例えば:1.2.3 -> 2.0.0はブロックされます。1.2.3 -> 1.9.0は許可されます。 - マイナー: メジャーまたはマイナー バージョンが異なるターゲット バンドルのブロック (
version_build)。例えば:1.2.3 -> 1.3.0はブロックされます。1.2.3 -> 1.2.4は許可されます。 - パッチ: 最も厳密なモード。メジャー、ミニ、パッチ番号の変更はすべてブロックされ、サフィックスの変更のみ許可されます。
MAJOR.MINOR.PATCHtargetLanguage":"Japanese","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"texts":["","は同じままです。例えば","は許可されます","はブロックされます。",1.0.0-beta.1 -> 1.0.0-beta.2metadata: 最小のアップデートバージョンのメタデータを各バンドルに必要とします。__CAPGO_KEEP_0__ を使用して設定します","または","。チャネルが不正設定とみなされ、更新が拒否されるまで設定されていない場合","none: すべての更新を","semver互換性"1.0.0+build.1 -> 1.0.0+build.2これらの戦略は、チャネルのターゲットバンドルを、送信されたネイティブのベースラインと比較しますが、ダウンロードした現在のバンドルは送信された","詳細と例については、/docs/__CAPGO_KEEP_0__/commands/#disable-updates-strategy を参照してください。"]}1.0.0 -> 1.0.1]} ]} - metadata: Require a minimum update version metadata on each bundle. Configure via CLI using
--min-update-version]}--auto-min-update-version]} - ]} ]} .
]} version_build]} version_name.
Learn more details and examples in Disable updates strategy at /docs/cli/commands/#disable-updates-strategy.
例 (CLI):
# Block major updates on the Production channelnpx @capgo/cli@latest channel set production com.example.app \ --disable-auto-update major
# Allow devices to self-assign to the Beta channelnpx @capgo/cli@latest channel set beta com.example.app --self-assignアプリ内でsetChannel()を使用する
アプリ内でsetChannel()を使用するというセクションこの setChannel() メソッドは、実行時でアプリがプログラム的にチャンネルを切り替えることを可能にします。この機能は、以下のようなシナリオで特に便利です。
- QA/デバッグメニューでテスターがチャンネルを切り替える
- ベータプログラムへの参加フロー
- 機能フラグの実装
- A/Bテストシナリオ
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Switch to the beta channelawait CapacitorUpdater.setChannel({ channel: 'beta' });
// Optionally trigger an immediate update check after switchingawait CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true});チャネルにバンドルを割り当てる
「チャネルにバンドルを割り当てる」のセクションTo deploy a live update, you need to upload a new JS bundle build and assign it to a channel. You can do this in one step with the Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=DevelopmentThis will upload your built web assets and set the new bundle as the active build for the Development チャンネル。アプリがそのチャンネルに接続されている場合、更新は次回アプリが更新をチェックするときに受け取れます。
You can also assign builds to channels from the “Bundles” section of the Capgo dashboard. Click the menu icon next to a build and select “Assign to Channel” to choose the channel for that build.
バンドルバージョニングとチャンネル
「バンドルバージョニングとチャンネル」のセクションIt’s important to note that bundles in Capgo are global to your app, not specific to individual channels. The same bundle can be assigned to multiple channels.
When versioning your bundles, we recommend using シーケンスベージョニングと Capgo の Semver Tester とプレリリース識別子でチャンネル固有のバージョンを指定します。たとえば、ベータ版リリースはバージョンとして "1.2.3-beta.1" と指定できます。 1.2.3-beta.1.
このアプローチにはいくつかの利点があります:
- ビルド間の関係を明確に伝えることができます。
1.2.3-beta.1は明らかにプレリリースです1.2.3. - チャンネル間でバージョン番号を再利用できるため混乱を減らすことができます。
- 明確なロールバックパスを提供します。ロールバックが必要な場合、
1.2.3は前の安定版です。1.2.2チャンネル設定の典型的なセットアップとバンドルバージョンを合わせる例を見てみましょう。
チャンネル:
Development、など1.2.3-dev.1,1.2.3-dev.2チャンネル:QA、など.1.2.3-qa.1,1.2.3-qa.2channel:Stagingチャンネル:1.2.3-rc.1,1.2.3-rc.2、など。Productionチャンネル:1.2.3,1.2.4、など。
Capgoを使用して semverを使用することで、前リリース識別子を含むバージョンを指定することができます。このアプローチは推奨されていますが、厳密には必要ではありません。重要なのは、ビルド間の関係を明確に伝え、チームの開発プロセスと一致するバージョニングスキームを探すことです。 ライブアップデートのロールバック
「ライブアップデートのロールバック」のセクション
バグやその他の問題が生じたライブアップデートをデプロイした場合、またはそのアップデートを元に戻す必要がある場合、簡単に前のビルドにロールバックできます。ダッシュボードの「チャンネル」セクションから:ロールバックしたいチャンネルの名前をクリック
- ロールバックしたいビルドを探し、王冠アイコンをクリック
- __CAPGO_KEEP_0__

- このアクションを確認します
選択したビルドはすぐにそのチャンネルで有効なビルドになります。アプリは、更新をチェックするときにロールバックしたバージョンを受け取ります。
デプロイを自動化する
「デプロイを自動化する」のセクションCI/CD パイプラインのより高度なワークフローで、ライブアップデートのデプロイを自動化できます。ビルドプロセスに Capgo を統合すると、新しいバンドルを自動的にアップロードし、特定のブランチにプッシュしたり、新しいリリースを作成したりするたびに、そのチャンネルに割り当てることができます。
自動化の詳細については、 CI/CD統合 docs to learn more about automating Capgo live updates.
最小権限のPRプレビュー
「最小権限のPRプレビュー」のセクション使用する App Preview API key when CI needs one temporary channel per pull request but must not manage existing main/default channels. The key remains bound to the owning organization and selected app; it simply has no organization-wide role. Each non-public preview channel it creates receives its own automatic, channel-scoped lifecycle permission.
- Have an organization administrator create a secure API key limited to the preview app and select App Preview. See API Keys.
- Use a unique, non-public channel such as
pr-123. Do not pass--default,--self-assign, rollout options, or--delete-linked-bundle-on-upload. - Upload and promote the PR bundle in one command, then delete the owned channel and bundle when the PR closes:
APP_ID="com.example.app"PREVIEW_CHANNEL="pr-123"BUNDLE_VERSION="1.2.3-pr.123"
npx @capgo/cli@latest bundle upload "$APP_ID" \ --apikey "$CAPGO_PREVIEW_KEY" \ --path ./dist \ --channel "$PREVIEW_CHANNEL" \ --bundle "$BUNDLE_VERSION"
npx @capgo/cli@latest channel delete "$PREVIEW_CHANNEL" "$APP_ID" \ --apikey "$CAPGO_PREVIEW_KEY" \ --delete-bundle \ --success-if-not-foundbundle upload --channel 1つのフローで、欠落しているチャンネルを作成し、バンドルをアップロードし、プレビューを促進します。クリーンアップは原子的で所有権をチェックします: キーは、自身が作成したチャンネルとその関連する、共有されていないバンドルをのみ削除できます。既存のメイン/デフォルトチャンネル、別のプレビューキーが作成したチャンネル、または別のキーが作成したバンドルを変更、プッシュ、または削除することはできません。
レビューアがQR code またはプレビューURLが必要な場合、管理者はアプリに対してプレビューを一度だけ有効にする必要があります:
npx @capgo/cli@latest app set "$APP_ID" --previewnpx @capgo/cli@latest get-qr "$APP_ID" --channel "$PREVIEW_CHANNEL" --apikey "$CAPGO_PREVIEW_KEY" --urlApp Preview キーはプレビューを有効にすることができません。なぜなら、App Settings の権限がないからです。GitHub Actions で、シークレットを含むプレビュー ジョブを pull_request, not pull_request_target, and restrict them to same-repository PRs with github.event.pull_request.head.repo.full_name == github.repository.
Deploying to a Device
Section titled “Deploying to a Device”デバイスにデプロイする
- Install the Capgo SDK in your app
- チャンネルを理解したので、実際のデバイスにライブアップデートをデプロイする準備ができました。基本的なプロセスは:「アプリに__CAPGO_KEEP_0__ __CAPGO_KEEP_1__をインストールする。アプリを、自身が望むチャンネルにリスニングするように設定する。
- アップロードしたビルドをそのチャンネルに割り当てます。
- アプリを起動し、更新を待ちます!
詳細なガイドについては、 ライブアップデートのデプロイ を参照してください。更新を楽しみましょう!
ユーザー セグメンテーションの高度なチャンネル使用
「高度なチャンネル使用:ユーザー セグメンテーション」のセクションチャンネルは、開発段階のみに使用するのではなく、より多くの用途に使用できます。ユーザー セグメンテーションを可能にする強力なツールです。
- 異なるユーザー層向けの機能フラグ
- A/B テスト
- 機能の段階的なロールアウト
- ベータ テスト プログラム
これらの高度な用途を実装する方法を、以下のガイドで学びます: 機能フラグとA/Bテストのためのユーザーをプランとチャンネルで分割する方法.
チャンネルから続けて
「チャンネルから続けて」のセクション__CAPGO_KEEP_0__がCapgoを使用している場合 チャンネル チャンネルを使用してチャネルルーティングとステージドロールアウトを計画し、チャンネルと接続する チャンネル チャンネル チャンネル ベータテストソリューション チャンネル Betaテストソリューションにおける製品ワークフローについて バージョン対象ソリューション バージョン対象ソリューションにおける製品ワークフローについて、 Capgo環境ベストプラクティス:1つのモバイルアプリIDでステージング Capgo環境ベストプラクティス:1つのモバイルアプリIDでステージングの実用的な背景について