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

設定して忘れるだけ

自動でアップデートされるプライベートアプリ

MDMや社内ストア経由でネイティブアプリを一度インストールするだけ。あとは Capgo がバックグラウンドで新しいWeb bundleをダウンロードし、選んだタイミングで適用。起動に失敗したbundleはロールバックし、各デバイスで実行中のバージョンも表示します。

チャンネルマップ

プライベートアプリのリリースを管理するための Capgo コンソールのチャンネルリスト
チャンネルマップ
例: production, site-eu, site-us
ロールアウトルール
まずは1つのサイトから、次に全拠点へ
アップデート確認
アプリ起動時、その後10分ごと
一度のインストールで完了
署名済みのネイティブアプリを、MDM、エンタープライズアプリストア、またはデバイスプロビジョニングフロー経由で配布します。
バックグラウンドでアップデート
アプリ起動時および起動中は10分ごとに新しいbundleの有無を確認し、バックグラウンドでダウンロードします。
オフラインでも継続利用可能
接続されていないデバイスは現在のbundleを実行し続け、オンライン復帰時に再度チェックを行います。

誰もアップデートをタップしない

キオスク端末、共有タブレット、現場用デバイスなどは、1日中同じアプリを稼働させていることがよくあります。ユーザーは更新のためにストアを開かず、IT部門もWebの修正のたびに新しいパッケージを配信したくはありません。Capgo はWebレイヤーを自動で最新に保ち、起動に失敗したbundleをロールバックし、各デバイスが実行しているbundleを通知します。

ネイティブインストール
初回のみ、MDM経由
アップデート確認
起動中は10分ごと
bundleの起動失敗
ロールバック

手動管理が不可能なデバイス向けに設計

Capgo は Web アセットのリリースレーンとして使用してください。Native Build の代替ではありません。Native バイナリは、引き続き既存のエンタープライズ向けパッケージングフローに従います。

オフライン動作
アプリは最後にダウンロードした bundle から起動します。接続がないデバイスでも動作を継続し、再接続時に更新を確認します。
アップデート動作のドキュメント
サイトごとに管理
サイトやチームごとに専用の channel を用意しましょう。あるサイトで bundle を検証した後、同じ bundle を他の channel にリンクできます。
チャネルのドキュメント
不具合のある bundle からの復旧
新しい bundle が 10 秒以内に notifyAppReady() を呼び出さない場合、デバイスは失敗と判断し、最後に動作していた bundle に自動で戻ります。現場での対応は一切不要です。
notifyAppReady() と自動ロールバック
各デバイスの実行状況を表示
デバイスログには、チェック、ダウンロード、インストール、失敗の履歴が記録されます。setCustomId() でカスタムIDを設定すれば、Capgo デバイスをアセットリストと紐付けられます。
デバイスとカスタムID

仕組み

Capgo で管理デバイスを最新に保つITチームの手法

アプリの設定は一度済ませれば、あとはCIからリリースしてコンソールで監視するだけです。以下のコマンドや設定はすべて Capgo のドキュメントに基づいています。

  1. デフォルトチャネルでアプリを一度インストール

    defaultChannel を使用すると、このビルドの全デバイスを適切なチャネル(例:拠点ごと)に振り分けられます。autoUpdate: 'always' を設定すれば、ダウンロード後すぐに新しい bundle が適用されるため、バックグラウンドに移行しないキオスクアプリに最適です。

    // capacitor.config.ts
    plugins: {
      CapacitorUpdater: {
        defaultChannel: 'site-eu',
        autoUpdate: 'always',
        autoSplashscreen: true,
      },
    },
    アップデート動作のドキュメント
  2. 起動時に notifyAppReady() を呼び出す

    これにより、新しい bundle がロードされたことを updater に通知します。もし bundle が正常に届かなかった場合、デバイスは自動的に最後に動作していたバージョンに戻ります。

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    // once your app has loaded
    CapacitorUpdater.notifyAppReady()
    notifyAppReady() と自動ロールバック
  3. CIから公開、まずは1つのサイトから

    --delta を使用して upload し、デバイスは変更されたファイルのみを download するようにします。最初のサイトが正しく動作したら、同じ bundle を他の channel にもリンクさせます。

    npx @capgo/cli@latest bundle upload --channel site-eu --delta
    # after the first site checks out
    npx @capgo/cli@latest channel set site-us com.example.app \
      --bundle 1.4.2
    チャネルのドキュメント
  4. デバイスを監視し、一箇所からロールバック

    デバイスの logs には、各 check、download、install、および失敗の履歴が表示されます。Observe (beta) は、bundle バージョンごとの起動時間と WebView のタイミングを比較します。サイトをロールバックするには、以前の bundle をリンクしてください。

    # roll site-eu back to the previous bundle
    npx @capgo/cli@latest channel set site-eu com.example.app \
      --bundle 1.4.1
    Observe

できること、できないこと

  • MDM、Apple Business Manager、Android Enterprise、または社内エンタープライズストアを通じた、企業向けのプライベート配布にご利用ください。
  • Capgo は JavaScript、HTML、CSS、およびアセットをアップデートします。Native plugin の変更には、引き続き新しい署名済みネイティブパッケージが必要です。
  • オフラインのデバイスは、再接続して承認済みの次のアップデートを取得するまで、最後に成功した bundle を実行し続けます。
  • これは App Store を回避するためのものではありません。すでに独自の配布を行っているチーム向けの、プライベートアプリ運用モデルです。

Capacitor で構築されたアプリ

業務アプリには、静かで自動的なメンテナンスが必要です

通信系やサポート系のアプリには、請求、プラン、サポート、デバイス管理などのワークフローがあります。これらは、小さな改善のたびにユーザーに新しいバイナリのインストールを強いることなく、常に最新の状態を保つ必要があります。

My Swisscomアプリのアイコン 生産性

Swisscomの管理画面

サポート、プラン、請求に関する変更を、ユーザーに意識させず静かに反映させるべきアカウントアプリ。

Google Play インストール数
180万
ストア評価
4.4
My Vodafone アプリのアイコン ツール

My Vodafone

ユーザーが細かなアップデートを都度管理する必要のない、通信キャリアのセルフサービスアプリ。

Google Play インストール数
11.1M
ストア評価
4.6
Técnico Virtual – Suporte Técn のアプリアイコン ツール

バーチャルテクニシャン – テクニカルサポート

リリース作業の負荷をかけずに、診断機能やヘルプフローのメンテナンスが必要なサポートアプリ。

Google Play インストール数
10.3M
ストア評価
4.3

導入実績

Capgo を活用するチームの声

5.0/5 開発チームによる評価 9,400+ チーム数 レビューを読む

no-tone @ Webincode

Webincode 開発者

「Device IDを特定のグループに追加して、そのグループにだけ変更をプッシュできるのは本当に助かります。」

Sergiu Sのポートレート

Sergiu S

リードデベロッパー、drivolino GmbH

“Capgo Capacitor Updater pluginのおかげで、アップデートの配信方法が完全に変わりました。以前は何日もかかっていた作業が、今ではわずか数分で終わります。”

Kapil

NuTriQ 創業者

「本番環境のOTAアップデートを、App Storeの審査サイクル全体を待たずに即座に配信できることは、運用面で非常に大きな強みです。」

よくある質問

管理デバイスを運用するチームからのよくある質問

手動でのアップデートが困難な、キオスク端末、MDM、社内アプリ向け。

キオスクアプリは常にフォアグラウンドで動作しています。それでもアップデートされますか?

はい、autoUpdateを'always'に設定していれば可能です。アプリ起動中、プラグインは10分ごとにチェックを行い(periodCheckDelay、最小600秒)、ダウンロードしたbundleを即座に適用します。デフォルトの'atBackground'では、アプリがバックグラウンドに回るまでbundleの適用は待機されます。即時適用には、autoSplashscreenをオンにした@capacitor/splash-screenも必要です。

アップデート動作のドキュメント

アップデートによってデバイス上のアプリがクラッシュした場合はどうなりますか?

新しいbundleが10秒以内にnotifyAppReady()を呼び出さない場合、デバイスは以前の正常に動作していたbundleにロールバックします。また、channelを以前のbundleに差し戻したり、組み込みのbundleを強制的に使用するように設定することも可能です。デバイスは次回のチェック時にそれらを反映します。

ロールバックのドキュメント

次回のアップデートチェックを待たずに、修正をプッシュできますか?

Capgo Notificationsを設定済みであれば、channelのbundleを変更した後にchannel set --send-update-notificationを実行することで、サイレントなアップデート確認通知を送信できます。配信はベストエフォートであり、OS、ネットワーク、デバイスの状態に依存します。オフライン状態や強制終了されたアプリには届きません。

サイレント・アップデート確認

MDMや社内ストアは引き続き必要ですか?

はい、ネイティブアプリには必要です。CapgoはJavaScript、HTML、CSS、およびアセットをアップデートします。新しいプラグイン、ネイティブなcode、およびCapacitorの設定変更については、引き続きMDMや社内ストアを通じて、署名済みの新しいパッケージとして配信する必要があります。

Native Build が必要なケース

アップデートのトラフィックを自社インフラ内に留めることはできますか?

Enterpriseプランでは、専用環境、ハイブリッド構成、およびライセンス付きのセルフホスト構成を提供しています。また、オープンソースのアップデーターを使用して独自のアップデートサーバーを運用することも可能ですが、その場合はチャンネルや統計などの機能を自前で構築する必要があります。

セルフホスト型アップデーターのドキュメント

社内アプリにこのリリースモデルを導入しませんか?

デバイスの登録方法や接続環境についてお聞かせください。お客様のデバイス群に最適なチャンネル、アップデートのタイミング、ロールバックについてご提案します。