跳过主要内容

白标和多租户应用

从一个代码库为每个租户的应用

为每个租户、品牌或位置提供一个 Capgo 通道。更新一个租户的 Web 层而不触摸其他租户,并使用 Capgo Build 构建品牌化的原生壳。

1 个代码库
每个租户都有一个共享的 Capacitor 应用
1 个渠道
每个租户都有自己的包、历史记录和回滚
云端构建
Android 的分支和 iOS 的方案

Shell

Capacitor 应用

租户

渠道

原生

Capgo 构建

问题

白标应用难以管理

品牌变体迅速增加

每个客户都想有自己的Logo、主题、功能集、内容和发布日期。分离的分支会将这些请求转化为每次发布都需要支付的维护费用。

商店评论会延迟租户修复

一个菜单上的错误或一个租户的入门指南修复不应该等待一个新的二进制文件和商店评论,通常需要24-48小时,有时更长。

全球发布太过笨拙

一个全球更新可能会一次性破坏所有品牌。每个品牌的分支都会拖慢整个团队的速度。您需要一个租户的发布通道。

常见设置

白标应用在一个Capgo应用中的样子

客户品牌化的SaaS应用

每个业务客户都有自己的Logo、主题、入门指南和功能集,并且在自己的频道上接收更新。

连锁店或地点应用

每个餐厅、诊所、健身房或 branch 都可以获得本地菜单、资产和活动屏幕作为实时更新,而无需新二进制文件。

小应用市场

主应用程序列出工作区或小应用,并在运行时将设备移动到匹配的Capgo频道中,使用setChannel()。

解决方案

白标系统

原生壳保持共享,每个租户的Web层通过自己的频道移动。

租户频道

每个租户、连锁店或工作区都有一个频道。可以向一个租户或所有租户发送,并在不影响其他频道的情况下回滚一个频道。

频道文档

自我分配

在启用自我分配时,应用程序会调用setChannel()将设备放入租户频道中。Capgo仍在每次更新检查时验证频道。

设置频道()参考

版本目标

在不同的原生版本下,租户经常运行。阻止每个频道的主要更新,或者设置一个最小的原生版本,使一个捆绑包只在可以运行它的壳中发布。

版本目标文档

Capgo 为品牌壳构建

为每个品牌壳构建每个Android味道或iOS方案,在云中构建并上传到商店。使用Live Update更新每周更改的Web层。

构建选项

如何工作

如何使用Capgo

一个Capacitor代码库,一个频道租户。命令和code来自CapgoCLI和更新器文档。

  1. 为每个租户创建一个频道

    每个租户都有一个频道,自己的捆绑包和历史。允许自我分配,使应用程序可以将设备移动到其中。

    npx @capgo/cli@latest channel add acme com.example.app --self-assign
    npx @capgo/cli@latest channel add globex com.example.app --self-assign
    频道文档
  2. 上传每个租户的包

    构建基于租户的主题和配置的网页层,然后将其上传到该租户的频道中。其他租户保留其当前包。

    npx @capgo/cli@latest bundle upload --channel acme
    npx @capgo/cli@latest bundle upload --channel globex
    回滚文档
  3. 将设备移动到其租户

    登录后,调用 setChannel() 以租户的频道。该选择将在下一次更新检查时生效。

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    await CapacitorUpdater.setChannel({
      channel: tenant.channel,
      triggerAutoUpdate: true,
    })
    setChannel()参考
  4. 在云中构建品牌外壳

    当租户需要自己的商店列表、图标或权限时,使用Capgo Build构建该风味或方案。无需Mac。

    npx @capgo/cli@latest build request com.acme.app --platform android --android-flavor acme
    npx @capgo/cli@latest build request com.acme.app --platform ios --ios-scheme Acme
    构建选项

使用Capacitor构建的应用

区域媒体和运营商应用共享一个核心,但需要本地控制

区域体育、娱乐和电信品牌可以重用一个应用基础,同时改变每个品牌或国家的日程、营销活动、支持和市场特定内容

Tigo Sports Guatemala应用图标 体育

Tigo体育危地马拉

区域体育媒体应用,节目表和当地内容需要市场控制。

Google Play 安装
1.6百万
商店评分
3.3
电视节目 电视节目

娱乐指南,内容面板根据市场和节目时间段而异。

12.1百万

Google Play 安装
12,100万
商店评分
4.4
米橙应用图标 工具

米橙

运营商应用,共享账户模式仍需要本地产品和支持内容。

Google Play 安装
9.3万
商店评分
4.2

客户证明

使用 Capgo 的团队说什么

5.0/5 开发者团队评级 9,400+ 团队 查看评论

无语气 @ Webincode

开发者, Webincode

“能够将设备ID添加到特定组并将更改推送到特定组是救命稻草。”

纳特·范·约尔

CTO, 私有

“设置起来只花了不到一天。基于频道的发布让我在自己的设备上测试之前,任何内容都不会影响生产用户。”

 Sergiu S 的肖像

Sergiu S

drivolino GmbH 的首席开发人员

“Capgo Capacitor 更新器插件彻底改变了我们如何发布更新。过去的几天现在只需要几分钟。”

常见问题

多个品牌在一个 Capgo 设置上运行的团队会问什么问题

在多个品牌共享一个Capgo设置之前,哪些团队会问些什么。

Do we need a separate Capgo app for every brand?

Only when each brand has its own app ID in the stores. One store app that serves many tenants is one Capgo app with a channel per tenant. Separate branded store apps are separate Capgo apps, each with its own channels.

用户是否可以在应用程序内切换租户?

常见问题

是的。如果租户的频道允许自我分配,请从应用中调用 setChannel()。在当前插件版本中,选择会在设备上存储并在下一次更新检查时使用。

setChannel()参考

如果租户中有部分租户使用较旧的原生版本?

使用版本目标。阻止频道上的主要更新,或在捆绑包中设置最低原生版本,以便较旧的壳可以运行。

版本目标文档

我们是否可以回滚一个租户而不影响其他租户?

是的。每个频道都有自己的捆绑包历史。将租户的频道回滚到较早的捆绑包,其他频道保持原样。

回滚文档

哪些内容仍需要商店发布?

应用名称、图标、权限、原生插件和原生 code 将在二进制中存储。 Capgo Build 可以为每个口味或方案构建并上传到 App Store Connect 和 Google Play。

Capgo Build 文档

试试租户频道

14天免费试用期内,创建两个租户频道,上传一个捆绑包到每个频道,并使用setChannel()切换测试设备。