品牌变体迅速增加
每个客户都想有自己的Logo、主题、特性标志、内容、合规文本和发布时间。分支变成那些请求的永久性维护债务。
问题
每个客户都想有自己的Logo、主题、特性标志、内容、合规文本和发布时间。分支变成那些请求的永久性维护债务。
每个租户的菜单错误、入门修复或客户专属功能不应迫使每个租户通过二进制发布和应用商店评论。
一次全球更新可能会一次性破坏所有品牌。每个品牌的分支会使团队变慢。发布模型需要一个中间路径。
具体模型
一家B2B SaaS客户可以获得自己的Logo、主题、引导文本和特性标志,而不强制每个其他客户都更新到相同的版本。
每个餐厅、诊所、健身房或分支机构都可以接收到本地菜单、资产、宣传屏幕和内容更新,而不需要新的二进制文件。
一个主应用可以列出批准的小应用或客户工作区,并在运行时切换到匹配的Capgo频道。
实现示例
使用相同的Capacitor shell为每个租户。将租户特定的Web包发布到Capgo频道,然后让应用程序从登录、组织选择或内部管理员屏幕切换到正确的频道。
# Publish tenant-specific web bundles from the same app
npx @capgo/cli@latest bundle upload --channel acme
npx @capgo/cli@latest bundle upload --channel globex
npx @capgo/cli@latest bundle upload --channel north-branch
import { CapacitorUpdater } from '@capgo/capacitor-updater'
export async function switchTenant(channel: string) {
await CapacitorUpdater.setChannel({ channel })
const latest = await CapacitorUpdater.getLatest()
const bundle = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
await CapacitorUpdater.set({ id: bundle.id })
}
The Solution
Capgo模型保持原生应用程序稳定,并通过受控频道将品牌特定的Web体验推送。
为每个租户、分支、工作区、客户或应用程序变体创建一个频道。只推送品牌应该接收的包。
推广一个共享的修复到每个频道时安全,或者将一个特定的更改隔离到一个客户时。
如果一个租户特定的包破坏了,回滚该频道而不干扰每个其他品牌应用程序。
使用构建器为新的原生壳创建图标、权限、插件或商店元数据发生变化时。使用OTA为品牌内容进行周日更改。
发布模型
白标运营变得可管理,所有租户都有一个明确的发布通道,每个通道都可以独立监控。
Keep shared auth, analytics, billing, navigation, and native plugins in one Capacitor app instead of rebuilding them per customer.
Map each customer, franchise, location, or workspace to a Capgo channel with its own update history and release cadence.
将客户特定的 JavaScript、CSS、资产、配置、副本和实验发送到客户端,无需 app store 审核。
推广经过验证的变化,暂停风险的发布,或者只回滚需要它的租户。
用户信号
用户反复强调的点是控制。他们希望租户42在今天获得紧急修复,而不需要同时移动租户1、租户7和所有应用商店列表。
白标客户常见反馈
Capacitor
区域体育、娱乐和电信品牌可以重用一个应用基础,同时改变每个品牌或国家的时间表、营销活动、支持和市场特定内容
体育
区域体育媒体应用,需要市场控制的赛程和当地内容。
娱乐
娱乐指南,内容表面由市场和节目窗口决定。
工具
运营商app,仍需要本地产品和支持内容