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

Migrate from Capawesome Cloud to Capgo

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

概要

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

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

開始する前に

開始する前に
  • プロジェクトがCapacitor 5.0以降を使用していることを確認してください。
  • CI/CDからバンドルをプッシュする場合にのみ、Capgo CLIをインストールしてください。npm install -g @capgo/cliステップ 1 – __CAPGO_KEEP_0__をインストールし、Capawesome __CAPGO_KEEP_1__を削除する

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

Section titled “Step 1 – Install Capgo and remove the Capawesome SDK”
コピー
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

That is the only mandatory swap. Capgo’s native code ships with the plugin; no extra JavaScript helpers are required.

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

Step 3 – __CAPGO_KEEP_0__ を呼び出す notifyAppReady() (必要な唯一のハック)

セクション「Step 3 – __CAPGO_KEEP_0__ を呼び出す (必要な唯一のハック)」

古いワークフローではカスタムリスナーを使用し (checkForUpdates(), retryDownload()、スプラッシュ画面を非表示にするなど)。 Capgo はそのようなステップをネイティブで実行します。 API を呼び出す必要があるのは次のものだけです:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

アプリが正常に起動したことを確認します。この確認が来ない場合は、 Capgo は自動的にバンドルをロールバックします—追加の 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()

Step 4 – API を呼び出すのをマップする (ほとんどの場合オプション)

セクション「Step 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クラウド
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クラウド
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コンテキスト: HTML テキスト フラグメント (親キー `submitting_a_pr_to_capgo`). ページ/エリア: Capgo マーケティング ウェブサイト。役割: ウェブサイト コピー文。見られる場所: contributing.astro ページ。Capgo の製品/ブランド名と開発者用語を完全に保持する。メッセージキー `submitting_a_pr_to_capgo` (Capgo への PR 提出)。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 })
}
}
})

クリップボードにコピーする

「強制更新」
  • 前のワークフロー: wire prompt logic and enforce reload.
  • CapgoCapgoのマーケティングサイトの「Capgoにプルリクエストを提出する」ページ/エリア: コンテンツ。ロール: ウェブサイトのコピー。見つかった場所: contributing.astro。Capgo製品/ブランドと開発者用語を完全に保持する。 majorAvailable : bundleを「必須」にマークし、ダッシュボードでリスンし、 notifyAppReady()イベント(

)を発行して、アプリ内でアップグレードを要求する。

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

「ステップ 6 – バンドルを配布する」 capawesome live-update deploy, Capgo offers a similar CLI workflow, and you can also automate deployments entirely via API.

__CAPGO_KEEP_0__に依存していた場合は、__CAPGO_KEEP_1__ワークフローを提供し、__CAPGO_KEEP_2__を使用して完全に自動化されたデプロイメントも可能です。
# 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 minutes (notifyAppReady).
  • Sanity checks: 15 minutes (
  • First deployment: 10 minutes with Capgo CLI or CI integration.

: 10 minutes with __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ or CI integration.

Capgo support

Capgo support

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

Keep going from Migrate from Capawesome Cloud to Capgo

セクション「Keep going from Migrate from Capawesome Cloud to Capgo」

Capawesome Cloudを使用している場合 Migrate from Capawesome Cloud to 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.