メニューに進む

Capawesome Cloud から Capgo への移行

⚡️ Capgo はチャンネル、バンドルクリーンアップ、ロールバック、アナリティクス、CLI のアップロードを自動化します。 このガイドを使用して、最小限の手順で移行し、必要に応じてカスタム動作を再作成することができます。

  1. 既存のCapawesome Cloud設定(アプリID、チャンネル、署名キー、CLI トークン)を収集して、後でアーカイブまたは監査することができます。
  2. Capgo プラグインをインストールし、Capawesome SDK を削除し、 CapacitorUpdater.notifyAppReady().
  3. オプションの動作を構成(マニュアルダウンロード、バンドルピン、リロード)する場合は、現在使用しているフローに依存している場合。

Capgo を使用すると、プラグインをインストールし、 CapacitorUpdater.notifyAppReady()のみで十分です。チャンネル、バンドルクリーンアップ、ロールバック、アナリティクス、CLI の自動化はすべて、ネイティブで処理されます。以下のセクションでは、各タスクを直接実行します。

  • Capacitorが5以上を使用していることを確認してください。
  • Capgo CLI (npm install -g @capgo/cli)をCI/CDからバンドルをプッシュする場合にのみインストールしてください。

Step 1 – Capgoをインストールし、Capawesome SDKを削除する

Section titled “Step 1 – Capgoをインストールし、Capawesome SDKを削除する”
ターミナル画面
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

CapawesomeのプラグインはCapgoのネイティブcodeで提供されるため、追加のJavaScriptヘルパーは必要ありません。

前の設定では、数十のオプションをマッピングする必要がありました。 capacitor.config. Capgoはプロジェクトを自動的に認識するので、最小限の構成は次のようになります:

capacitor.config.ts
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 config

Capawesomeが手動フラグ (defaultChannel, autoDeleteBundles, 保存ポリシーなど) としてリストしているすべてのものは、Capgo ダッシュボードまたはAPIで管理されます。Capgoのデフォルトの動作と異なる動作を実現したい場合は、のみオーバーライドする必要があります。

CapawesomeオプションCapgoの同等設定する必要がありますか?
appIdCapgo ダッシュボードでプロジェクトを作成した後から参照するもの複数のプロジェクトを 1 つのバイナリに使用する場合のみ
defaultChannelダッシュボードでチャンネル規則を管理します/APIオプション;ほとんどのチームはサーバーサイドで設定します
autoDeleteBundlesautoDeletePrevious: true (デフォルト)既に有効
publicKeyCapgoコンソールで管理自分でキーをローテートする場合のみ
maxVersions /保持バンドル保持ポリシーCapgoで中央に設定(1 か月のデフォルト、24 か月の最大)

ステップ 3 – 呼び出し notifyAppReady() (唯一の必須のハック)

ステップ 3 – 呼び出し notifyAppReady() (唯一の必須のハック)

The old workflow introduced custom listeners (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はバックグラウンドチェック、スプラッシュの表示、ロールバックをネイティブで処理します。

オプション: スプラッシュが隠される前にカスタムロジックを実行
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 CloudCapgoの同等必要ですか?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()独自のダウンロードワークフローを実装する場合のみ
LiveUpdate.downloadBundle()CapacitorUpdater.download()オプション:ネイティブの自動更新は既にダウンロードしています
LiveUpdate.setNextBundle()CapacitorUpdater.next()オプション:ダッシュボードは自動的にバンドルをピンします
LiveUpdate.reload()CapacitorUpdater.reload()オプション;Capgoは必須のバンドルを強制します notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()オプション:診断

ネイティブの自動更新の挙動に従う場合は、Capawesome JavaScriptをすべて削除できます。

マニュアルコントロールの例

マニュアルコントロールの例のセクション

最新のバンドルをダウンロード

Capgo
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)
}
}
Capawesome Cloud
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')
}
}

次のバンドルを設定

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

直ちにダウンロードしたバンドルを適用

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => {
await LiveUpdate.reload()
}

Step 5 – Capgoの更新戦略:Capgoがどのように対応するか

Step 5 – Capgoの更新戦略:Capgoがどのように対応するか

Capawesomeは3つの戦略をドキュメントしています。ここではそれらをどのように翻訳するかを説明します。

バックグラウンド更新

バックグラウンド更新
  • 前回のワークフローcodeをcodeに設定して、ダウンロードを手動でスケジュールする必要があります。
  • Capgo__CAPGO_KEEP_0__はデフォルトで有効です()。追加の__CAPGO_KEEP_0__は必要ありません。autoUpdate: true). No additional code required.
  • 前のワークフロー__CAPGO_KEEP_0__ App.resume リスナーを追加し、呼び出し download、次に set.
  • 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 })
}
}
})

強制更新

強制更新
  • 前のワークフローワイヤー ロジックを組み込み、再読み込みを強制する
  • Capgo: __CAPGO_KEEP_0__をダッシュボードで「必須」としてマークし、 majorAvailable イベント ( notifyAppReady()) をリスンし、

アプリ内でユーザーにアップグレードするように求める

ステップ 6 – バンドルを配布する

ステップ 6 – バンドルを配布する 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 production

Because Capgo tracks bundle health automatically, you also get:

  • ターミナル画面
  • 自動削除 (1 か月間のデフォルト) に対して、24 か月までの制限を設定できます。
  • リアルタイムのレイテンシー メトリクスは「status.__CAPGO_KEEP_0__.app/history」で確認できます。 status.capgo.app/history.

「移行計画」セクション

インベントリ & インストール
  • : 10 分 (: 古いプラグインを削除します。npm install設定 & 準備
  • : 5 分 (正常性チェックnotifyAppReady).
  • : 15 分 (オプションのマニュアルテストまたはリスナー)。__CAPGO_KEEP_0__
  • 最初のデプロイ: 10 分で Capgo CLI または CI 統合で完了します。

実際には、チームは 1 時間以内に完了します。Capawesome プロジェクトの詳細を提供する場合は、チャンネルとデバイスリストのインポートも行います。

Capgoは長期的な信頼性に設計されています:ネイティブのデルタ更新、暗号化されたパッケージ、自動ロールバック、カスタムJavaScriptが必要ない分析。マイグレーション後は、メンテナンスが重いアダプタを削除して、プラットフォームが自動的に更新を実行できるようにします。

Capawesome Cloudを使用している場合 Capawesome CloudからCapgoに進みましょう CI/CDの自動化を計画するには、__CAPGO_KEEP_0__ CI/CD Capgo CI/CDの製品ワークフロー Capgo Native Buildsの製品ワークフロー Capgo Integrationsの製品ワークフロー Capgo Integrationsの製品ワークフロー Capgo Integrations 製品ワークフローにおけるCapgo統合のために CI/CD統合 CI/CD統合の実装詳細のために、 GitHubアクション統合 アクション統合の実装詳細のためにGitHub