メニューに進む

Capgo から Capawesome Cloud への移行

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

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

Capgo を使用すると、Capawesome プラグインをインストールし、 CapacitorUpdater.notifyAppReady()を呼び出すだけで済みます。 すべての他の機能—チャンネル、バンドルクリーンアップ、ロールバック、分析、および CLI 自動化—is natively によって処理されます。 以下のセクションでは、各タスクを直接説明します。

開始する前に

開始する前に
  • プロジェクトがすでに Capacitor 5 またはそれ以降のバージョンを使用していることを確認してください。
  • CI/CD からバンドルをプッシュする場合に Capgo CLI (npm install -g @capgo/cli) をインストールする必要があります。

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

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

Capgoのネイティブcodeはプラグインとともに配布されており、追加のJavaScriptヘルパーは必要ありません。

前の設定では、数十のオプションをマッピングする必要がありました。 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, 保存ポリシーなど) としてリストしているすべてのものは、Capgo ダッシュボードまたはAPIで管理されます。Capgoのデフォルトの動作と異なる動作を実現したい場合は、オーバーライドする必要があります。

Capawesome optionCapgo equivalent設定する必要がありますか?
appIdCapgo プロジェクトを作成した後、ダッシュボードから取得1 つのバイナリに複数のプロジェクトを使用する場合のみ
defaultChannelAPI ダッシュボードでチャネル規則を管理オプション; 多くのチームはサーバーサイドで設定
autoDeleteBundlesautoDeletePrevious: true (デフォルト)すでに有効
publicKeyCapgo コンソールで管理キーを手動でローテートする場合のみ
maxVersions /retentionBundle 保存ポリシーCapgo で中央管理 (1 か月のデフォルト、24 か月の最大)

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

「ステップ 3 – 呼び出し notifyAppReady() (必要な唯一のハック)」のセクション

古いワークフローではカスタムリスナー (checkForUpdates(), retryDownload(), スプラッシュ画面の非表示など) が導入されていました。 Capgo はそのステップをネイティブで実行します。 API を呼び出す必要があるのは、以下の 1 つだけです:

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()

ステップ 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()
}

ステップ 5 – 更新戦略:Capgo がどのように対応するか

ステップ 5 – 更新戦略:Capgo がどのように対応するか

Capawesome は 3 つの戦略を文書化しています。以下にそれらを紹介します。

バックグラウンド更新

バックグラウンド更新
  • 前回のワークフローcode で設定して、ダウンロードを手動でスケジュールする。
  • Capgo: __CAPGO_KEEP_0__ (autoUpdate: true). code です。
  • 前のワークフロー: 追加する App.resume リスナー、呼び出し download, すると set.
  • Capgo: バックグラウンドの自動更新は、再開後にチェックを実行します。 __CAPGO_KEEP_0__ のカスタム間隔が必要な場合は、手動リスナーが必要です。
オプション: 手動再開チェック
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.
  • Capgo: ダッシュボードで「必須」とマークし、次にイベントをリスンして、アップグレードをユーザーに強制する majorAvailable ステップ 6 – バンドルをデプロイ notifyAppReady()ステップ 6 – バンドルをデプロイ

ステップ 6 – バンドルをデプロイ capawesome live-update deployCapgoは類似の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 production

Capgoが自動的にバンドルヘルスを追跡するため、次のことも得られます。

  • デバイスレベルの監査ログは、すべてのインストールに適用されます。
  • 自動的な保持期間(デフォルトは1か月)が24か月までの制限を設定できる。
  • リアルタイムの遅延メトリックは「status.__CAPGO_KEEP_0__.app/history」で確認できます。 status.capgo.app/history.

「マイグレーションタイムライン」のセクション

インベントリ&インストール
  • 10分__CAPGO_KEEP_0__は類似の__CAPGO_KEEP_1__ワークフローを提供し、__CAPGO_KEEP_2__を使用して完全にデプロイメントを自動化することもできます。npm install, 旧プラグインを削除。
  • Config & readinessCapacitornotifyAppReady).
  • : 5 分 (Sanity checks
  • : 15 分 (オプションのマニュアルテストまたはリスナー): 10 minutes with Capgo CLI or CI integration.

: 10 分で __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ または CI統合

Capgo support

Capgo サポート

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

Capawesome CloudからCapgoに移行してください

Capawesome CloudからCapgoに移行する

Capawesome Cloudから__CAPGO_KEEP_0__に移行する Capawesome CloudからCapgoに移行する Capawesome Cloudから__CAPGO_KEEP_0__に移行する Capgo CI/CD Capgoの製品ワークフロー Capgo Native Builds Capgoのネイティブビルドワークフロー Capgo Integrations Capgoの統合ワークフロー CI/CD統合 CI/CD統合の実装詳細 GitHub Actions Integration GitHub Actions統合の実装詳細