Capgo への Capawesome Cloud からの移行
このプラグインのインストールステップとフルマークダウンガイドのすべてのステップを含む設定プロンプトをコピーする
⚡️ Capgo はチャンネル、バンドルクリーンアップ、ロールバック、アナリティクス、CLI のネイティブアップロードを自動化します。 このガイドを使用して、最小限の手順で移行し、必要に応じてカスタム動作を再作成することができます。
概要
概要セクション- 既存のCapawesome Cloud設定(App ID、チャンネル、署名キー、CLI トークン)を収集して、後でアーカイブまたは監査することができます。
- Capgo プラグインをインストールし、Capawesome SDK を削除し、呼び出し
CapacitorUpdater.notifyAppReady(). - オプションの動作を設定(マニュアルダウンロード、バンドルピン、リロード)する必要がある場合は、現在使用しているフローに依存している場合
CapgoのCapgoを使用すると、プラグインをインストールし、 CapacitorUpdater.notifyAppReady(). Everything else—channels, bundle cleanup, rollbacks, analytics, and CLI automation—is handled natively. The sections below walk through each task directly.
その他のすべて—チャンネル、バンドルクリーンアップ、ロールバック、分析、
および__CAPGO_KEEP_0__の自動化—is natively処理されます。- Make sure your project is already using Capacitor 5 or later.
- Install the Capgo CLI (
npm install -g @capgo/cliセクションのタイトル “開始する前に”
Step 1 – Install Capgo and remove the Capawesome SDK
CI/CDからバンドルをプッシュする場合にのみ、Capgo SDK (npm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncセクションのタイトル “ステップ 1 – Capgoをインストールし、Capawesome codeを削除”
ステップ 2 – 最小構成
「ステップ 2 – 最小構成」前の設定では、数十のオプションをマッピングする必要がありました。 capacitor.configCapgoはプロジェクトを自動的に認識するため、最小構成は次のようになります。
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes }, },}
export default configCapawesomeがリストするすべての手動フラグ(保持ポリシーなど)は、__CAPGO_KEEP_0__ ダッシュボードまたは__CAPGO_KEEP_1__で管理されます。 __CAPGO_KEEP_2__のデフォルトの動作と異なる動作を実現したい場合は、のみこれらのキーをオーバーライドする必要があります。defaultChannel, autoDeleteBundles, retention policies, etc.) is managed through the Capgo dashboard or API. You only need to override these keys if you want behaviour that differs from Capgo’s defaults.
「構成のクイックリファレンス」
Capawesomeオプション| __CAPGO_KEEP_0__の同等 | Capgo equivalent | 必要ですか? |
|---|---|---|
appId | Capgoプロジェクトを作成した後、Capgoダッシュボードから取得 | 1つのバイナリに複数のプロジェクトを使用する場合のみ |
defaultChannel | APIダッシュボードで管理されるチャネル規則 | オプション; 多くのチームはサーバー側で設定 |
autoDeleteBundles | autoDeletePrevious: true (デフォルト) | 既に有効 |
publicKey | Capgoコンソールで管理 | キーを手動でローテートする場合のみ |
maxVersions /保持 | バンドル保持ポリシー | Capgoで中央に設定 (1 か月のデフォルト、24 か月の最大) |
Step 3 – __CAPGO_KEEP_0__ を呼び出す notifyAppReady() (必要な唯一のハック)
セクション: Step 3 – __CAPGO_KEEP_0__ を呼び出す (必要な唯一のハック)古いワークフローではカスタムリスナーを使用し (checkForUpdates(), retryDownload(), hiding the splash screen, etc.). Capgo performs those steps natively. The only API you must call is:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()This confirms the app booted successfully. If the confirmation never arrives, Capgo automatically rolls back the bundle—no extra JavaScript needed.
アプリが正常に起動したことを確認します。この確認が来ない場合は、Capgo は自動的にバンドルをロールバックします—追加の JavaScript が必要ありません。
それだけです—__CAPGO_KEEP_0__ はバックグラウンドチェック、スプラッシュ画面の表示、ロールバックをネイティブで実行します。
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Run diagnostics or logging if you need to SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()Step 4 – Map API calls (mostly optional)
ステップ 4 – API を呼び出す (ほとんどの場合オプション)通常、Capgoでは自動アップデートを実行しますが、必要な場合は手動APIも利用できます。
| Capawesome Cloud | Capgoの同等 | 必要ですか? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | 独自のダウンロードワークフローを実装する場合のみ |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | オプション:ネイティブの自動アップデートは既にダウンロードしています |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | オプション:ダッシュボードは自動的にバンドルをピンします |
LiveUpdate.reload() | CapacitorUpdater.reload() | オプション;Capgoは、以下のバンドルを必須として強制します。 notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | オプション:診断 |
__CAPGO_KEEP_0__の自動アップデートのままにすると、CapawesomeのJavaScriptを削除できます。
手動コントロールの例
「手動コントロールの例」のセクションダウンロードした最新のバンドル
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const bundle = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) console.log('Bundle downloaded', bundle?.id) }}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => { const result = await LiveUpdate.fetchLatestBundle() if (result.downloadUrl) { await LiveUpdate.downloadBundle({ bundleId: result.bundleId, url: result.downloadUrl, }) console.log('Bundle downloaded') }}次のバンドルを設定
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => { await CapacitorUpdater.next({ id: 'bundle-id-123' })}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => { await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })}すぐにダウンロードしたバンドルを適用
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => { await CapacitorUpdater.reload()}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => { await LiveUpdate.reload()}ステップ 5 – アップデート戦略: Capgo がどのように対応するか
ステップ 5 – アップデート戦略: Capgo がどのように対応するかCapawesome は 3 つの戦略を記述しています。 それらはどのように翻訳されるかを以下に示します。
バックグラウンド更新
セクション: バックグラウンド更新- 前のワークフロー: code で設定して、ダウンロードを手動でスケジュールする。
- Capgoコンテキスト: Capgo のマーケティング ウェブサイトの長い UI 文字列 (親キー `submitting_a_pr_to_capgo`) から取り出された HTML テキスト フラグメント。ページ/エリア: Capgo マーケティング ウェブサイト。役割: ウェブサイト コピー。見つかった場所: contributing.astro ページ。Capgo の製品/ブランドと開発者用語を完全に保持するようにします。メッセージ キー `submitting_a_pr_to_capgo` (Submitting A Pr To Capgo)。
autoUpdate: true. No additional code required.
最新版のみ
セクション:最新版のみ- 前のワークフロー: add an
App.resumeリスナーを追加し、呼び出しdownload, するとset. - Capgoコンテキスト:Capgo UIの長い文字列からHTMLテキストフラグメント (親キー `submitting_a_pr_to_capgo`). 画面/エリア:Capgoのマーケティングウェブサイト。役割:ウェブサイトのコピー。表示される場所:contributing.astroページ。Capgo製品/ブランドと開発者用語を完全に保持する。
: 背景の自動更新は、再開後もチェックを実行します。手動のリスナーが必要なのは、カスタムのインターバルを実行したい場合のみです。
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const downloaded = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) if (downloaded) { await CapacitorUpdater.next({ id: downloaded.id }) } }})クリップボードにコピーする
Section titled “強制更新”- 前のワークフロー: wire prompt logic and enforce reload.
- CapgoCapgoへのプルリクエストの提出
majorAvailable: マークするbundleを「必須」にダッシュボードで、次にリスニングするイベント(アップグレード後)をアップグレードするユーザーを要求するnotifyAppReady()イベント(アップグレード後)
ステップ 6 – バンドルを配布
Section titled “ステップ 6 – バンドルを配布”以前は依存していた場合、__CAPGO_KEEP_0__は似た__CAPGO_KEEP_1__ワークフローを提供し、__CAPGO_KEEP_2__を使用して完全に自動化されたデプロイも可能です。 capawesome live-update deploy, Capgo offers a similar CLI workflow, and you can also automate deployments entirely via API.
# Authenticate once (stores a token in your CI environment)capgo login
# Upload a new bundle (auto-detects platform/version)capgo bundle upload --path dist --channel productionCapgo は自動的にバンドルの健康状態を追跡するため、次のことも得られます。
- デバイスレベルのインストールごとに監査ログ
- 自動的な保持 (デフォルトは 1 か月) に、24 か月までの制限を設定できる
- リアルタイムのレイテンシー メトリクスは status.capgo.app/history.
移行計画
移行計画- インベントリ & インストール: 10 分 (
npm install, 旧プラグインを削除) - 設定 & 準備: 5 分間 (
notifyAppReady). - 正常性チェック: 15 分間 (オプションのマニュアルテストまたはリスナー)。
- 最初のデプロイ: 10 minutes with Capgo CLI or CI integration.
: 10 分間で __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ または CI 統合で
Capgo support
Capgo サポート- セクションのタイトル “__CAPGO_KEEP_0__ サポート”マイグレーションコンシェルジュ book.capgo.app/demo.
- book.__CAPGO_KEEP_0__.app/demo: Capgo Discord.
- 問題報告: github.com/Cap-go/capacitor-updater/issues.
Capgoは長期的な信頼性に最適に設計されています:ネイティブのデルタ更新、暗号化されたバンドル、自動ロールバック、カスタムJavaScriptが必要ない分析。マイグレーション後は、メンテナンスが重いアダプタを削除し、プラットフォームが自動的に更新を実行できるようにしてください。
Capawesome CloudからCapgoに進む
セクションのタイトル「Capawesome CloudからCapgoに進む」Capawesome Cloudを使用している場合 Capawesome CloudからCapgoに進む CI/CDの自動化を計画するには、__CAPGO_KEEP_0__ CI/CD Capgo CI/CD Capgo CI/CDの製品ワークフロー Capgo Native Builds Capgo Native Builds Capgo Capgo CI/CD __CAPGO_KEEP_0__ GitHub for the implementation detail in GitHub Actions Integration.