メインコンテンツへスキップ

AppFlowからCapgoへの移行

🚦 Ionicは、Live Updatesを含むAppFlowの商用製品の提供を終了すると発表しました。既存のプロジェクトは以下まで継続利用可能です: 2027年12月31日ただし、新規顧客の受付や新機能の開発は予定されていません。このガイドでは、Capgoへの移行に必要な手順と、移行によって得られるネイティブな自動化機能について解説します。

Capgoは、チャンネル管理、bundleの保持、ロールバック、分析、および CLI のアップロードを自動で行います。移行作業は、プラグインのインストール、 CapacitorUpdater.notifyAppReady()、そして必要に応じてオプションの個別設定を行うだけで完了します。以下のセクションで各タスクを順に説明します。

  • AppFlow の以下の情報を控えておいてください: App ID、既存のチャンネル、および署名キー。
  • アーカイブしたい bundle の履歴があればエクスポートしておきます。
  • GitHub Actions や他の CI プロバイダーを使用している場合、それらの pipeline はそのまま維持してください。Capgo とも引き続き動作します。

ステップ 1 – AppFlow の SDK を Capgo に置き換える

「ステップ 1 – AppFlow の SDK を Capgo に置き換える」というセクション
ターミナル
npm uninstall @capacitor/live-updates
npm install @capgo/capacitor-updater
npx cap sync

完了です。Capgo は iOS と Android 両方の Native code を bundle 化するため、追加の JavaScript ヘルパーは不要です。

既存の設定ブロックは非常に膨大です。Capgo はプロジェクトと channel を自動検出するため、設定は最小限で済みます:

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
},
},
}
export default config
Ionic AppFlow の設定Capgo での同等設定設定は必要ですか?
appIdCapgo ダッシュボードで管理プロジェクト作成時に自動的に提供されます
channel / defaultChanneldashboard/API 内のチャンネルルールオプションのオーバーライド(デフォルトはサーバー設定)詳細は バージョンターゲティング のマルチバージョン戦略を参照してください
autoUpdateMethodautoUpdate: trueデフォルトで有効
maxVersions保持ポリシー一括設定(デフォルト1ヶ月、最大24ヶ月)
enabled不要Capgo によりチャンネルごとに利用可否を切り替え

ステップ 3 – Call notifyAppReady() (唯一必須のフック)

「ステップ 3 – notifyAppReady() を呼び出す(唯一必須のフック)」セクション

Ionic のガイドでは、以下のように設定します。 sync, downloadや reload、その後手動でスプラッシュ画面を非表示にします。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()

ステップ 4 – アップデート戦略の移行

「ステップ 4 – アップデート戦略の移行」セクション

AppFlow では 3 つの戦略がドキュメント化されています。Capgo では以下のように対応します:

  • AppFlow:設定 autoUpdateMethod = background、呼び出し sync() を手動で行います。
  • Capgo:デフォルトで有効。JavaScriptは不要です。
  • AppFlow:〜を追加 App.addListener('resume') ダウンロードしてリロードするハンドラー。
  • Capgo: auto-update は resume 時に既に実行されます。カスタムのタイミングウィンドウが必要な場合のみハンドラーを追加してください。
オプション: 手動の resume チェック
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: ユーザーにプロンプトを表示し、呼び出す reload().
  • Capgo: ダッシュボードで bundle を「mandatory」としてマークし、次の majorAvailable イベント(〜の後に発行)をリッスンします notifyAppReady()) アプリ内でユーザーにプロンプトを表示したり、強制したりします。

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

「ステップ 5 – API コールのマッピング」セクション
AppFlow のメソッドCapgo の相当機能必要ですか?
LiveUpdates.sync()自動的に処理されますCapgo のネイティブな自動アップデートは、手動の同期コールなしで実行されます
LiveUpdates.download()CapacitorUpdater.download()カスタムフロー向けにオプション
LiveUpdates.reload()CapacitorUpdater.set()オプション。ダッシュボードのトグルで強制アップデートを制御できます
LiveUpdates.getVersion()CapacitorUpdater.current()オプションの診断機能

ステップ 6 – Capgo の CLI または API を使用してデプロイ

「ステップ 6 – Capgo CLI または API を使用したデプロイ」セクション

Capgo CLI または API で bundle を upload して移行を完了します。ワークフローは以前にスクリプト化した内容と同様ですが、ネイティブの安全策が追加されています:

ターミナル
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
# Channel must use metadata strategy: --disable-auto-update metadata
capgo bundle upload \
--path dist \
--channel production \
--min-update-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

詳細については、 バージョン指定ガイド の包括的な戦略を参照してください。

Capgo の自動機能:

  • 全インストールに対してデバイスレベルの監査ログを保持します。
  • プランの制限に近づくと、事前通知メールを送信します。
  • バーストクレジットを提供し、リリース中の停止を防ぎます。
  • 世界18リージョンのレイテンシ指標を以下で公開しています: capgo.app/履歴のステータス.

Ionicスタックでenterprise pluginsを使用している場合は、以下の移行ドキュメントに従ってください。各ガイドには、Capgo による代替方法と次のステップが記載されています。

Ionicはオープンソースフレームワークに注力するため、AppFlowを含む商用製品を終了します。既存のお客様は、以下の期日までLive Updateを引き続きご利用いただけます: 2027年12月31日ただし、新機能の追加や新規顧客の受付は行われません。Capgoは、専用のネイティブOTAプラットフォームによってそのニーズに応えます。

ほとんどのチームは1日以内に移行を完了しています。Channel、Deployment、Release Rulesなどの概念はそのまま対応しており、ドキュメントとハンズオンサポートも提供しています。多くの場合、プラグインをインストールして、 notifyAppReady()を呼び出し、最初のbundleをuploadするだけで完了します。

コストは削減できますか?

「コストは抑えられますか?」

はい。AppFlowのLive Updateは月額 $499からですが、Capgo は月額 $14から利用可能です。 従量課金制により、コストは MAUあたり約$0.001まで下がります。さらに、暗号化、自動ロールバック、世界規模のレイテンシ監視も利用できます。

移行のタイミングは?

「移行のタイミングは?」

AppFlowがメンテナンスモードに入っているため、早めに移行することで Capgo の継続的なイノベーションを享受できます。リリーススケジュールに合わせて切り替えを行うことを推奨します。エンジニアリングチームが移行計画をサポートし、CI/CDやデプロイへの影響を最小限に抑えます。

Capgo は、ネイティブのデルタアップデート、暗号化されたbundle、継続的なイノベーションを必要とするエンタープライズ向けに設計されています。移行後はAppFlowのグルーコード code を削除し、ネイティブな自動化に任せて、中断なくリリースを続けられます。

使用している場合 AppFlowからCapgoへの移行 移行とエンタープライズ運用を計画するには、次と連携してください Capgo エンタープライズ Capgo Enterprise のプロダクトワークフロー向けに、 Ionic Enterprise プラグインの代替案 Ionic Enterprise Plugin Alternatives のプロダクトワークフロー向けに、 Capgo の代替案 Capgo Alternatives でのプロダクトワークフロー向け、 Capgo コンサルティング Capgo Consulting でのプロダクトワークフロー向け、および Capgo プレミアムサポート Capgo Premium Support でのプロダクトワークフロー向け。