品牌变体会快速增长
每个客户都想有自己的 logo、主题、特性标志、内容、合规文本和发布时间
问题
每个客户都想有自己的 logo、主题、特性标志、内容、合规文本和发布时间
商店评论会拖慢租户修复
One global update can break every brand at once. One fork per brand makes the team slow. The release model needs a middle path.
具体模型
B2B SaaS客户可以获得自己的Logo、主题、引导文案和特性标志,而不需要将所有其他客户强制升级到相同的版本。
每个餐厅、诊所、健身房或门店可以接收本地菜单、资产、推广屏幕和内容更新,而不需要新二进制。
主应用可以列出批准的小应用或客户工作区,并在运行时切换到匹配的Capgo频道。
实现示例
使用相同的Capacitor壳为每个租户。将租户特定的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 Capgo model keeps the native app stable and moves brand-specific web experiences through controlled channels.
为每个租户、分公司、工作空间、客户或应用程序变体创建一个通道。仅推送该品牌应接收的捆绑包。
在安全时推送一个共享修复到每个通道,或者将一个特定变化隔离到一个客户时发布。
如果一个租户特定的捆绑包出现问题,回滚该通道而不影响其他品牌应用程序。
使用构建器为新的原生壳创建图标、权限、插件或商店元数据时。使用OTA更新品牌内容时。
发布模型
白标运营变得可管理,所有租户都有一个明确的发布通道,每个通道都可以独立监控。
将共享的认证、分析、计费、导航和原生插件放在一个Capacitor应用中,而不是为每个客户重建它们。
将每个客户、分公司、地点或工作区映射到一个Capgo频道,具有自己的更新历史和发布节奏。
将客户特定的JavaScript、CSS、资产、配置、副本和实验发送到应用商店,无需等待应用商店审查。
推广经过验证的更改,暂停风险的发布,或者只回滚需要它的租户。
用户信号
用户重复的点是控制。他们希望租户42在今天获得紧急修复,而不移动租户1、租户7和所有应用商店列表。
普通白标客户反馈
Capacitor 构建的应用
区域体育、娱乐和电信品牌可以重用一个应用基础,同时改变每个品牌或国家的日程、营销活动、支持和市场特定内容
体育
该体育应用需要市场控制才能显示赛程和当地内容。
娱乐
娱乐指南,内容根据市场和节目窗口而有所不同。
工具箱
运营商应用,仍需要本地产品和支持内容的共享账户模式。