Capawesome CloudからCapgoへの移行
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
⚡️ Capgo は、チャンネル管理、bundle のクリーンアップ、ロールバック、分析、そして CLI のアップロードをネイティブに自動化します。このガイドでは、移行に必要な最小限の手順と、必要に応じてカスタム動作を再構築する方法を説明します。
- 後でアーカイブや監査ができるよう、既存の Capawesome Cloud の設定(App ID、チャンネル、署名キー、CLI トークン)をまとめておいてください。
- Capgo プラグインをインストールし、Capawesome の SDK を削除してから、
CapacitorUpdater.notifyAppReady(). - 現在それらのフローを利用している場合は、オプションの動作(手動ダウンロード、bundle の固定、リロード)を設定してください。
Capgo を使用する場合、プラグインをインストールして CapacitorUpdater.notifyAppReady()を呼び出すだけで済みます。チャンネル、bundle のクリーンアップ、ロールバック、分析、CLI の自動化など、それ以外のすべてはネイティブに処理されます。以下のセクションで各タスクの手順を詳しく説明します。
開始する前に
「始める前に」セクション- プロジェクトですでに Capacitor 5 以降を使用していることを確認してください。
- Capgo CLI (
npm install -g @capgo/cli) をインストールしてください。CI/CDからbundleをプッシュする場合に必要です。
ステップ 1 – Capgo のインストールと Capawesome SDK の削除
「ステップ 1 – Capgo のインストールと Capawesome SDK の削除」セクションnpm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncこれだけが必須の入れ替え作業です。Capgo のネイティブ code はプラグインに同梱されているため、追加のJavaScriptヘルパーは不要です。
ステップ 2 – 最小限の設定
「ステップ 2 – 最小限の設定」セクション以前の設定では、多くのオプションを capacitor.config にマッピングする必要がありました。Capgo はプロジェクトを自動的に認識するため、最小限の設定は以下のようになります:
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で手動フラグとしてリストされているもの(defaultChannel, autoDeleteBundles保持ポリシーなど)はすべて、Capgo ダッシュボードまたは API で管理されます。Capgo のデフォルト設定とは異なる挙動をさせたい場合にのみ、これらのキーをオーバーライドする必要があります。
設定クイックリファレンス
「設定クイックリファレンス」というタイトルのセクション| Capawesome のオプション | Capgo での相当項目 | 設定は必要ですか? |
|---|---|---|
appId | プロジェクト作成後に Capgo ダッシュボードから取得 | 単一のバイナリ内で複数のプロジェクトを使用する場合のみ必要 |
defaultChannel | ダッシュボード/API で管理される Channel ルール | 任意。ほとんどのチームはサーバーサイドで設定します |
autoDeleteBundles | autoDeletePrevious: true (デフォルト) | 有効化済み |
publicKey | Capgo コンソールで管理 | キーを手動でローテーションする場合のみ |
maxVersions / 保存期間 | Bundle 保存ポリシー | Capgo で一括設定 (Capgo で設定。デフォルト1ヶ月、最大24ヶ月) |
ステップ 3 – 呼び出し notifyAppReady() (必須の唯一のフック)
「ステップ 3 – notifyAppReady() を呼び出す(唯一の必須フック)」セクション従来のワークフローでは、カスタムリスナーが導入されていました(checkForUpdates(), retryDownload()スプラッシュ画面の非表示など)。Capgo はこれらのステップをネイティブに実行します。呼び出す必要がある唯一の API は以下です:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()これにより、アプリが正常に起動したことが確認されます。もし確認が届かない場合、Capgo が自動的に bundle をロールバックします。追加の JavaScript は不要です。
以上です。Capgo がバックグラウンドチェック、スプラッシュ画面の表示制御、およびロールバックをネイティブに処理します。
オプション: スプラッシュ画面が消える前にカスタムロジックを実行する
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()ステップ 4 – API の呼び出しを書き換える(ほぼ任意)
「ステップ 4 – API の呼び出しを書き換える(ほぼ任意)」というセクションCapgo では通常、自動アップデートに任せますが、完全に制御したい場合は手動 API も引き続き利用可能です。
| Capawesome Cloud | Capgo 相当 | 必要ですか? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | 独自のダウンロードワークフローを実装する場合のみ必要です |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | 任意:ネイティブの自動更新ですでにダウンロード済み |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | 任意:ダッシュボードが自動でbundleをピン留め |
LiveUpdate.reload() | CapacitorUpdater.reload() | 任意:Capgo により、以降はbundleが必須になります notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | 任意の診断機能 |
ネイティブの自動更新の挙動を維持する場合は、CapawesomeのJavaScriptを完全に削除できます。
手動制御の例
「手動制御の例」というセクション最新のbundleをダウンロード
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') }}次のbundleを設定する
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' })}ダウンロードしたbundleを即座に適用する
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つの戦略を説明しています。Capgoではそれぞれ次のように対応します:
バックグラウンド更新
「バックグラウンド更新」セクション- 従来のワークフロー:codeで設定し、ダウンロードを手動でスケジュールします。
- Capgo:デフォルトで有効(
autoUpdate: true)。追加のcodeは不要です。
常に最新
「常に最新」というセクション- 従来のワークフロー:〜を追加
App.resumeリスナー、呼び出しdownload、次にset. - Capgo: バックグラウンドの自動アップデートは、resume後にすでにチェックを実行しています。カスタムの間隔で実行したい場合にのみ、手動のリスナーが必要になります。
オプション: 手動の resume チェック
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 }) } }})強制アップデート
「強制アップデート」セクション- 従来のワークフロー: プロンプトのロジックを組み込み、リロードを強制します。
- Capgo: ダッシュボードで bundle を「mandatory」としてマークし、次の
majorAvailableイベント(〜の後に発行)をリッスンしますnotifyAppReady()) を使用して、アプリ内でユーザーにアップグレードを要求します。
ステップ 6 – バンドルのデプロイ
「ステップ 6 – バンドルのデプロイ」というセクション以前、以下を利用していた場合、 capawesome live-update deploy Capgo は同様の CLI ワークフローを提供しており、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ヶ月まで設定可能)。
- リアルタイムのレイテンシメトリクス: capgo アプリの履歴ステータス.
移行のタイムライン
「移行のタイムライン」というセクション- インベントリ確認とインストール: 10分 (
npm install, 旧プラグインを削除)。 - 設定と準備: 5分 (
notifyAppReady). - 動作確認: 15分 (オプションのテストやリスナー設定)。
- 初回デプロイ: Capgo CLI または CI 連携を使用する場合、10分。
実際、多くのチームが1時間以内に完了しています。Capawesomeのプロジェクト詳細をご提供いただければ、チャンネルやデバイスリストのインポートも代行可能です。
Capgo サポート
「Capgo サポート」セクション- 移行コンシェルジュセッションの予約はこちら: book.capgo.app/demo.
- コミュニティこちらから参加: Capgo Discord.
- Issue tracker: github.com/Cap-go/capacitor-updater/issues.
Capgo は長期的な信頼性を重視して設計されています。ネイティブなデルタアップデート、暗号化されたbundle、自動ロールバック、そしてカスタムJavaScriptを必要としない分析機能を提供します。移行後は、メンテナンス負荷の高いコードを削除し、プラットフォームによる自動アップデートに任せることができます。
Capawesome CloudからCapgoへの移行の次へ
「Capawesome CloudからCapgoへの移行の次へ」というタイトルのセクション使用している場合 Capawesome CloudからCapgoへの移行 CI/CD自動化を計画するには、次と連携してください Capgo での CI/CD 設定 Capgo CI/CDでのプロダクトワークフローについては、 Capgo Native Build Capgo Native Buildsでのプロダクトワークフローについては、 Capgo インテグレーション Capgo インテグレーションでのプロダクトワークフロー向けに、 CI/CD 連携 CI/CD Integrationの実装詳細については、 GitHub Actions 連携 GitHub Actions Integrationの実装詳細については。