バーガーキング®
クーポン、店舗検索、キャンペーン機能を備えた飲食店アプリ。
- Google Play インストール数
- 1,430万
- ストア評価
- 3.9
キャンペーン開始時に、CIから注文アプリのWebレイヤーをupload。チャンネル機能で市場やブランドごとに配信し、パイロット運用から開始して、万が一注文機能に不具合が出た場合は即座にロールバックできます。
メニューやプロモーションの変更を、市場ごとにルーティングされた Capgo live updates として配信。
14日間無制限の無料トライアル。クレジットカード不要 14日間の返金保証。いつでも解約可能。
エンタープライズ向けのご相談は? チームに相談する
飲食店チームが live update を導入する理由
期間限定のアイテムが指定日に公開される予定。しかし、公開日の朝、QAがアプリのメニューに表示されていないことに気づく。
修正はWebレイヤーで可能だが、ストア経由のプロセスでは新しいバイナリの作成とストア審査が必要になり、通常24〜48時間、時にはそれ以上かかる。
審査が通った後も、ユーザーはアップデートをインストールする必要があり、店舗のキオスク端末には別途アップデートの仕組みが必要になる。
期間限定のオファーはキャンペーン開始と同時に始まらなければならない。Webレイヤーの修正をストアのリリースまで待つべきではない。
同じコードベースから、ブランドアプリや市場ごとに異なるメニュー、プロモーション、法的テキストが必要になることがある。
新しい注文フローは、全展開する前に、1つの市場または少数のテストデバイスで動かすべきだ。
ランチタイムに注文画面が壊れた場合、ストアのリリースに依存しない復旧手段が必要だ。
ユースケース
バイナリを更新せずに、Webレイヤーで注文・決済画面の修正やメニュー表示の変更を即座に反映できます。
特典画面、ポイント表示、引き換えフローを更新。バックエンドに連動するポイント値の変更もここで行えます。
店舗情報画面、受け取り方法の案内、カーブサイド・ピックアップのオプションをWebレイヤーから更新可能です。
キャンペーン開始日に合わせ、バナーやオファーページ、キャンペーンへの導線を公開。まずは1つのチャネルでテスト運用も可能です。
終日稼働するキオスクアプリでも、定期的なチェック時や待機画面への遷移時にアップデートを適用できます。
各ブランドのアプリを一つの Capgo 組織内で管理。アプリID、チャンネル、リリース履歴も個別に保持できます。
Capgo がレストランチームにもたらす価値
Capgo にリリーススケジューラーはありません。マージ時、手動実行、またはリリース用に設定したcronスケジュールなど、CIからアップロードをトリガーします。
# .github/workflows/capgo-launch.yml
on:
workflow_dispatch:
schedule:
- cron: '0 6 15 11 *' # 06:00 UTC on 15 Nov, your launch time
jobs:
upload:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: npm ci && npm run build
- run: npx @capgo/cli@latest bundle upload --channel production --delta
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} # one app ID per brand, same web codebase
npx @capgo/cli@latest bundle upload com.yourgroup.brand-a --channel production
npx @capgo/cli@latest bundle upload com.yourgroup.brand-b --channel production 各ブランドのアプリは Capgo 内で独立したアプリとして扱われ、独自のチャンネルとリリース履歴を持ちます。チームメンバーごとのロールを設定し、一つの組織で一括管理できます。
市場、地域、パイロットグループごとにチャネルを作成できます。アプリは、自己割り当てを許可するチャネルに setChannel() で参加し、チームはオーバーライドでデバイスを固定できます。
// in the app, after the user or kiosk picks a market
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({ channel: 'market-uk' }) // capacitor.config.ts
CapacitorUpdater: { autoUpdate: 'onlyDownload' }
// kiosk app
let next
CapacitorUpdater.addListener('updateAvailable', ({ bundle }) => {
next = bundle
})
// when the kiosk is back on its idle screen
if (next) await CapacitorUpdater.set({ id: next.id }) デフォルトではアプリがバックグラウンドに回った際に更新が適用されますが、キオスク端末では稀なケースです。更新を自動でダウンロードし、端末がアイドル状態の時に適用することが可能です。
仕組み
特定の市場から開始するプロモーションの一般的なフローです。以下のコマンドはすべて Capgo CLI のドキュメントに基づいています。
セルフアサインを許可することで、ユーザーやキオスクが所在する市場のチャンネルにアプリが自動参加できるようにします。
npx @capgo/cli@latest channel add market-uk --self-assign チャネルのドキュメント リリース時に CI から実行します。ロールアウトにより、チャンネル内のデバイスの一部に bundle が送信され、残りのデバイスは安定版を維持します。
npx @capgo/cli@latest bundle upload --channel market-uk --delta --rollout 10 段階的ロールアウトのドキュメント 注文機能が正常に動作することを確認したら、そのbundleをチャンネル内の全デバイスにプロモートします。
npx @capgo/cli@latest channel set market-uk --rollout-promote 段階的ロールアウトのドキュメント 注文機能に不具合が発生した場合は、ロールアウトを安定版に戻すか、コンソールからチャンネル履歴から以前のbundleを選択してください。
npx @capgo/cli@latest channel set market-uk --rollout-rollback ロールバックのドキュメント Capacitor で構築されたアプリ
クイックサービスレストラン(QSR)のアプリなら、店舗の承認を待つことなく、プロモーション、店舗検索コンテンツ、注文に関する通知、地域限定キャンペーンへの導口などを即座に更新できます。
クーポン、店舗検索、キャンペーン機能を備えた飲食店アプリ。
メニュー、特典、決済ガイドを迅速に変更できる注文アプリ。
ロイヤルティとフード注文の導線を頻繁にブラッシュアップする必要があるレストランアプリ。
NuTriQ 創業者
「本番環境のOTAアップデートを、App Storeの審査サイクル全体を待たずに即座に配信できることは、運用面で非常に大きな強みです。」
リードデベロッパー、drivolino GmbH
“Capgo Capacitor Updater pluginのおかげで、アップデートの配信方法が完全に変わりました。以前は何日もかかっていた作業が、今ではわずか数分で終わります。”
Webincode 開発者
「Device IDを特定のグループに追加して、そのグループにだけ変更をプッシュできるのは本当に助かります。」
よくある質問
タイミング、キオスク、市場、そして live update が変えられること。
Capgo にはリリーススケジューラーはありません。任意のタイミングで、例えばスケジュールされた GitHub Actions ワークフローや、開店当日の手動実行などで、CIから upload をトリガーしてください。特定の期日まで新しいUIを非表示にしたい場合は、アプリ内またはバックエンドで制御してください。
GitHub Actions ガイドデフォルトモードでは、アプリがバックグラウンドに回った際にアップデートが適用されますが、キオスク端末では稀なケースです。autoUpdateを'always'に設定して定期チェック時(デフォルトは10分ごと)に適用するか、'onlyDownload'に設定してキオスクがアイドル画面に戻った際にset()を呼び出すようにしてください。
アップデート動作のドキュメントはい。Capgoでブランドごとに独自のapp IDを割り当て、市場やパイロットグループごとに独自のchannelを設定してください。デバイス側で設定が許可されている場合はsetChannel()を使用してchannelに参加するか、デバイスのオーバーライドを通じて参加させることができます。
チャネルのドキュメント段階的なロールアウトをロールバックするか、channelの履歴から以前のbundleを選択してください。新しいbundleが起動に失敗し、notifyAppReady()が一度も呼び出されなかった場合、デバイスは自動的に最後に動作していたbundleに戻ります。
ロールバックのドキュメント価格は通常、バックエンドやPOSとの連携から取得されるため、そちらで変更してください。live updateで変更できるのは、メニューや価格を表示するWeb画面です。Native plugin、決済SDK、およびCapacitorのアップグレードには、ストア経由のリリースが必要になります。
ネイティブ互換性ドキュメントトライアル期間中に、自分のアプリでマーケットチャネルとCI経由のアップロードを設定できます。
各マーケットに Capgo live updates を配信し、注文機能に不具合が出たらロールバックできます。
Martinによる人的サポート
14日間無制限の無料トライアル。クレジットカード不要 14日間の返金保証。いつでも解約可能。
エンタープライズ向けのご相談は? チームに相談する