BURGER KING
快餐店应用,包含优惠券、定位内容和活动
- Google Play安装
- 14.3万
- 商店评分
- 3.9
为什么餐厅团队添加一个live update车道
限时商品将在预定时间发布。发布当天早上,QA发现它不在应用菜单中。
修复在web层,但由于仅在商店中运行的过程,需要新的二进制文件和商店审查,这通常需要24-48小时,有时甚至更长。
即使经过审批,客户仍需要安装更新,而在店内自助终端需要自己的更新路径。
限时活动从活动开始时开始。web层的修复不应等待商店发布。
每个品牌应用和每个市场都可能需要不同的菜单、促销活动和法律文本,从同一代码库中获取。
新订单流程应在一个市场或几个测试设备上运行之前在所有地方运行。
午餐时的订单屏幕故障需要一种不依赖于商店发布的回退方式。
场景
修复网页层中的订单和结账屏幕,且无需重新发布菜单显示的更新
更新奖励屏幕、积分显示和兑换流程。来自您的后端的积分值会在此处更新
更新网页层中的门店信息屏幕、取货说明和无人售货选项
在您的指定日期上发布促销横幅、优惠页面和活动入口。首先在一个渠道上测试
自助机应用程序可以保持24小时运行。您可以在定期检查期间或自助机返回空闲屏幕时更新应用程序
让每个品牌应用都在一个 Capgo 组织中,各自拥有应用 ID、频道和发布历史。
Capgo 给餐厅团队带来什么?
Capgo 没有发布调度器。您的 CI 触发上传:在合并时、手动运行时或您为发布设置的 cron 计划中。
# .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 })
如何运作
推送菜单更新的典型流程,菜单更新从一个市场开始。以下每个命令都来自CapgoCLI文档
允许自我分配,使应用可以加入频道,频道对应于用户或自助服务机的市场
npx @capgo/cli@latest channel add market-uk --self-assign
频道文档
在CI中运行此命令,推送菜单更新会将bundle推送到频道中的设备的一部分,而其他设备保持稳定
npx @capgo/cli@latest bundle upload --channel market-uk --delta --rollout 10
渐进式推送文档
当订单正常工作时,推广每个设备上的包裹。
npx @capgo/cli@latest channel set market-uk --rollout-promote
渐进式发布文档
如果订单出现问题,请将回滚发送回稳定状态,或者从控制台中选择之前的包裹。
npx @capgo/cli@latest channel set market-uk --rollout-rollback
回滚文档
Capacitor
快餐店应用可以更新促销活动、餐厅定位内容、订单通知和区域活动入口点,等待店铺审批
快餐店应用,包含优惠券、定位内容和活动
用户可以快速更改菜单、奖励和结账指引的点餐应用。
餐厅应用,需要频繁优化忠诚度和点餐流程。
NuTriQ创始人
“能够立即推送生产OTA更新,无需等待完整App Store审查周期,这对我们来说是一个巨大的运营优势.”
drivolino GmbH首席开发官
“Capgo Capacitor Updater插件彻底改变了我们如何发布更新。过去的几天现在只需要几分钟.”
Webincode开发者
“能将设备 ID 添加到某些组并将更改推送到仅某些组是救命稻草.”
常见问题
时间、自助机、市场和一个 live update 都可以改变。
Capgo没有发布调度器。从您的 CI 触发上传,例如使用预定的 GitHub Actions 工作流或在发布前一天的手动运行。如果新 UI 必须在特定日期前隐藏,请在您的应用程序或后端中进行门控。
GitHub Actions 指南在默认模式下,更新在应用程序进入后台时应用,自助机很少这样做。将 autoUpdate 设置为‘always’以在每次周期检查(默认每 10 分钟)时应用更新,或者将其设置为‘onlyDownload’并在自助机返回其空闲屏幕时调用 set()。
更新行为文档是的。为每个品牌分配自己的应用 ID 在 Capgo 中,并为每个市场或试验组分配自己的频道。设备通过 setChannel() 在允许自我分配时加入频道,或者通过设备覆盖
频道文档如果新版本无法启动并且永远不会调用notifyAppReady(),设备会自动切换回最后一个工作版本。
回滚进度发布或从频道历史中选择上一个版本。如果新版本无法启动并且永远不会调用notifyAppReady(),设备会自动切换回最后一个工作版本。Prices usually come from your backend or POS integration, so change them there. A live update changes the web screens that display the menu and prices. Native plugins, payment SDKs, and Capacitor upgrades need a store release.
价格通常来自您的后端或POS集成,因此在那里更改它们。__CAPGO_KEEP_0__会更改显示菜单和价格的网页屏幕。原生插件、支付SDK和__CAPGO_KEEP_1__升级需要一个商店发布。