メインコンテンツにジャンプ

Capgo への Capawesome Cloud からの移行

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

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

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-update
npm install @capgo/capacitor-updater
npx cap sync

セクションのタイトル “ステップ 1 – Capgoをインストールし、Capawesome codeを削除”

ステップ 2 – 最小構成

「ステップ 2 – 最小構成」

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

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がリストするすべての手動フラグ(保持ポリシーなど)は、__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必要ですか?
appIdCapgoプロジェクトを作成した後、Capgoダッシュボードから取得1つのバイナリに複数のプロジェクトを使用する場合のみ
defaultChannelAPIダッシュボードで管理されるチャネル規則オプション; 多くのチームはサーバー側で設定
autoDeleteBundlesautoDeletePrevious: true (デフォルト)既に有効
publicKeyCapgoコンソールで管理キーを手動でローテートする場合のみ
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()

通常、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()オプション:診断

__CAPGO_KEEP_0__の自動アップデートのままにすると、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()
}

ステップ 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()イベント(アップグレード後)

以前は依存していた場合、__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 production

Capgo は自動的にバンドルの健康状態を追跡するため、次のことも得られます。

  • デバイスレベルのインストールごとに監査ログ
  • 自動的な保持 (デフォルトは 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は長期的な信頼性に最適に設計されています:ネイティブのデルタ更新、暗号化されたバンドル、自動ロールバック、カスタムJavaScriptが必要ない分析。マイグレーション後は、メンテナンスが重いアダプタを削除し、プラットフォームが自動的に更新を実行できるようにしてください。

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.