メニューに進む

AppFlowからCapgoをMigrateする

🚦 AppFlowの商用製品、Live Updatesを含む、Ionicが発表したものは終了に向かっています。既存のプロジェクトは31年12月まで実行できますが、 新規顧客は受け付けず、新機能は計画されていません。このガイドでは、__CAPGO_KEEP_0__への移行に必要なアクションを説明し、ネイティブの自動化を強調しています。, but no new customers are accepted and no new features are planned. This guide walks you through the actions required to migrate to Capgo and highlights the native automation you gain.

Capgo handles channels, bundle retention, rollbacks, analytics, and CLI uploads for you. Migration boils down to installing the plugin, calling CapacitorUpdater.notifyAppReady()AppFlowのバージョン対象性

Step 0 – Capture your current AppFlow setup

Note your AppFlow
  • App ID , existing channels, and signing keys.Export any bundle history you want to archive.
  • If you are using __CAPGO_KEEP_0__ Actions or another CI provider, keep those pipelines—they will keep working with __CAPGO_KEEP_1__.
  • Step 1 – Replace the AppFlow GitHub with Capgo

Step 1 – Replace the AppFlow SDK with Capgo

Section titled “Step 1 – Replace the AppFlow SDK with Capgo”
ターミナルウィンドウ
npm uninstall @capacitor/live-updates
npm install @capgo/capacitor-updater
npx cap sync

そのままです。Capgoは、iOSとAndroidの両方のネイティブcodeをバンドルします。追加のJavaScriptヘルパーは必要ありません。

ステップ 2 – 最小限の設定 (手動フィールドなし)

ステップ 2 – 最小限の設定 (手動フィールドなし)

既存の設定ブロックは広範です。Capgoはプロジェクトとチャンネルを自動検出するため、最小限の設定は次のとおりです。

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
},
},
}
export default config

設定のクイックリファレンス

設定のクイックリファレンス
Ionic AppFlow設定Capgoの同等Do you need to set it?
appIdCapgo ダッシュボードで管理されますプロジェクトを作成すると自動的に提供されます
channel / defaultChannelダッシュボード/API でチャネルルールを設定オプションのオーバーライド; デフォルトはサーバーから取得します。 バージョン対象 複数バージョンの戦略のために
autoUpdateMethodautoUpdate: trueデフォルトで有効
maxVersions保持ポリシー__CAPGO_KEEP_0__ で中央で設定 (1 か月のデフォルト、24 か月の最大)
enabled必要ありませんCapgo でチャネルごとに利用可能性を切り替えます

Step 3 – Call notifyAppReady() (the only required hook)

「Step 3 – Call notifyAppReady() (the only required hook)」

Ionic のガイドでは、 sync, downloadreloadを設定し、自動的にスプラッシュ画面を非表示にします。 Capgo は、スプラッシュ画面の非表示などを自動的に行います。ただし、 Capgo がアプリが準備完了していることを確認する必要があります。

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

確認が来ない場合、 Capgo は自動的にロールバックを行います。

Capgo は、バックグラウンドのチェック、スプラッシュ画面の表示非表示、ロールバックなどを自動的に行っています。

オプション: スプラッシュ画面が非表示になる前に、ロジックを実行する
import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => {
// Log diagnostics or run custom code if needed
SplashScreen.hide()
})
CapacitorUpdater.notifyAppReady()

AppFlow は 3 つの戦略をドキュメントしています。ここでは、それらが Capgo にどのようにマップされるかを説明します。

  • AppFlow: 設定 autoUpdateMethod = background, 呼び出し sync() , 手動。
  • Capgo: JavaScript が必要なくデフォルトで有効です。

常に最新

常に最新
  • AppFlow:__CAPGO_KEEP_0__を追加してください。 App.addListener('resume') handlerがダウンロードしてリロードするように設定します。
  • Capgo:自動更新は再開時にも実行されます。__CAPGO_KEEP_0__を追加する必要はありません。
オプション:手動再開確認
import { App } from '@capacitor/app'
import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => {
const bundle = await CapacitorUpdater.download()
if (bundle) {
await CapacitorUpdater.set({ id: bundle.id })
}
})

強制更新

強制更新
  • AppFlow:ユーザーに質問し、__CAPGO_KEEP_0__を呼び出します。 reload().
  • Capgo: ダッシュボードで「必須」としてのバンドルをマークし、次に、 majorAvailable イベント( notifyAppReady()) が発生した後、ユーザーをアプリ内に促すか強制する

ステップ 5 – API のマッピング

「ステップ 5 – API のマッピング」
AppFlow メソッドCapgo の同等必要ですか?
LiveUpdates.sync()自動で処理されるCapgo のネイティブの自動更新は、手動のシンク呼び出しなしで実行される
LiveUpdates.download()CapacitorUpdater.download()カスタムフローの場合、任意
LiveUpdates.reload()CapacitorUpdater.set()任意; ダッシュボードのスイッチは強制更新を制御する
LiveUpdates.getVersion()CapacitorUpdater.current()Optional diagnostics

Step 6 – Capgo CLI を使用して API

Step 6 – Capgo CLI を使用して API

Finish the migration by uploading bundles with the Capgo CLI or API. The workflow mirrors what you may have scripted before, but now includes native safeguards:

ターミナル画面
capgo login # authenticate once
capgo bundle upload \
--path dist \
--channel production # automatically tags platform/version

バージョン固有のデプロイメント(AppFlow のようなもの)

バージョン固有のデプロイメント(AppFlow のようなもの)

特定のネイティブ バージョンにターゲットを設定する必要がある場合(AppFlow のネイティブ バージョン ロックと似ています)

ターミナル画面
# Only deliver to devices on native version 2.0.0 or higher
capgo bundle upload \
--path dist \
--channel production \
--native-version "2.0.0"
# Use channels for different major versions
capgo bundle upload --channel v2 # for app version 2.x
capgo bundle upload --channel v3 # for app version 3.x

Cloudflare バージョン対象化ガイド 包括的な戦略のために。

Capgo 自動的に:

  • __CAPGO_KEEP_0__ は、各インストールごとにデバイスレベルの監査ログを保持します。
  • あなたが計画の制限に近づいたときに、積極的にメールを送信します。
  • あなたがリリース中の途中でブロックされないように、バーストクレジットを提供します。
  • 18 のグローバル地域で、18 の地域で遅延メトリクスを公開します。 status.capgo.app/history.

イオニック エンタープライズ プラグイン

「イオニック エンタープライズ プラグイン」のセクション

あなたのイオニック スタックもエンタープライズ プラグインを使用している場合、以下のターゲット マイグレーション ドキュメントを参照してください。各ガイドでは、Capgo の置き換えと次のステップを推奨しています。

AppFlowのライブ更新が終了する理由はなぜですか

セクション:AppFlowのライブ更新が終了する理由はなぜですか

Ionicは商用製品であるAppFlowを含め、オープンソースフレームワークに焦点を当てて製品を廃止することになりました。既存の顧客は、 2027年12月31日までライブ更新を使用できますが、新しい機能や顧客の受け入れは行われません。Capgoは、専用のネイティブOTAプラットフォームを提供することでこの空白を埋めます。, but no new features or customers are accepted. Capgo fills that gap with a dedicated native OTA platform.

__CAPGO_KEEP_0__ notifyAppReady()、初期バンドルをアップロードしてください。

お金を節約することができるでしょうか。

節約できるかどうかという質問

はい。AppFlowライブ更新は 499ドル/月。Capgoは 14ドル/月 、使用ベースの価格プランで約 0.001 ドル/MAUに下がります。加えて、暗号化、自動ロールバック、世界中のレイテンシーモニタリングも利用できます。

どの時点で移行するべきでしょうか。

移行するべき時期

AppFlowは現在メンテナンスモードに移行しているため、早期に移行すると、継続的なCapgoの革新にアクセスできます。リリーススケジュールに合わせて切り替えることをお勧めします。エンジニアリングチームは、CI/CDとデプロイメントが正常に実行されるように、移行の計画を支援します。

追加リソース

追加リソース

お困ですか?

お困ですか?

Capgoは、企業がネイティブのデルタ更新、暗号化されたバンドル、連続的な革新を必要とするために設計されています。マイグレーション後は、AppFlowの接着剤codeを削除できます、ネイティブの自動化に頼り、無中断で配信を続けます。

AppFlowを使用している場合 AppFlowからCapgoに進み続ける マイグレーションと企業運用の計画と連携をしてください、__CAPGO_KEEP_0__ Enterprise Capgo Enterprise Capgo エンタープライズの製品ワークフローについて Ionic エンタープライズ プラグインの代替 __CAPGO_KEEP_0__ エンタープライズ プラグインの代替 Capgo の代替 Capgo の製品ワークフローについて Capgo のコンサルティング Capgo の製品ワークフローについて Capgo のプレミアム サポート Capgo の製品ワークフローについて