ブランドバリアントは速く増殖する
すべての顧客は独自のロゴ、テーマ、機能フラグ、コンテンツ、法的要件のテキスト、およびリリースタイミングを望む。
ブランド化されたアプリの運用
ビジネス上の約束は単純です。多くのブランド化されたアプリを販売することですが、多くのアプリを維持する必要はありません。Capgoは、テナント固有のバンドル用のチャンネル、ネイティブシェルのビルダー、ブランドが急いで修正する必要がある場合のロールバックなど、運用上の実現可能性を提供します。
シェル
Capacitor アプリ
テナント
チャンネル
セーフティ
ロールバック
問題
すべての顧客は独自のロゴ、テーマ、機能フラグ、コンテンツ、法的要件のテキスト、およびリリースタイミングを望む。
テナントの修正はストアレビューで遅れる
グローバルリリースはあまりにも粗雑です
1つのグローバルアップデートはすべてのブランドを一度に壊すことができます。1つのブランチごとにブランドを分けることでチームは遅くなる。リリースモデルは中間の道を求めている。
カスタマーブランドSaaSアプリ
フランチャイズまたはロケーションアプリ
A host app can list approved mini-apps or customer workspaces and switch the device to the matching Capgo channel at runtime.
実装例
同じ 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 })
}
ソリューション
Capgo モデルはネイティブアプリを安定させ、制御されたチャネルを通じてブランド固有のWebエクスペリエンスを動かします。
各テナント、ブランド、ワークスペース、顧客、またはアプリバリアントごとにチャネルを作成します。ブランドが受け取るべきバンドルだけをプッシュします。
共通の修正をすべてのチャネルにプロモートするか、変更が特定の顧客に特有の場合に1つの顧客にリリースを隔離します。
__CAPGO_KEEP_0__のテナント固有のバンドルが破損した場合、他のすべてのブランドアプリに影響を与えずにそのチャネルを戻します。
__CAPGO_KEEP_0__のアイコン、パーミッション、プラグイン、またはストアメタデータが変更された場合に新しいネイティブシェルをビルダーで使用してください。__CAPGO_KEEP_0__のブランドコンテンツが毎週変更される場合にOTAを使用してください。
リリースモデル
白ラベルオペレーションは、各テナントが明確なリリースレーンを持っており、各レーンが独立して監視できるようにすることで管理可能になります。
Capacitorアプリに共有の認証、分析、請求、ナビゲーション、ネイティブプラグインを1つに残しておきましょう。
Capgoチャネルごとに、顧客、フランチャイズ、場所、またはワークスペースごとに、独自のアップデート履歴とリリースカレンダーをマップしてください。
アプリストアのレビューなしで顧客固有のJavaScript、CSS、アセット、設定、コピー、実験を配信してください。
確立された変更を広く推進し、リスクのあるロールアウトを一時停止、または特定のテナントにのみロールバックする。
ユーザー信号
ユーザーは「制御」を繰り返し言及する。テナント42に緊急修正を当日適用したいが、テナント1、テナント7、すべてのアプリストアリストを同時に動かしたくない。
共通のホワイトラベル顧客フィードバック
Capacitorで構築されたアプリ
地域スポーツ、エンターテインメント、テレコムブランドは、スケジュール、キャンペーン、サポート、市場固有のコンテンツを各ブランドまたは国ごとに変更することができるアプリの基盤を共有することができる。
スポーツ
地域スポーツメディアアプリです。スケジュールとローカルコンテンツのマーケットコントロールが必要です。
エンターテインメント
エンターテインメントガイドでコンテンツは市場とプログラミングウィンドウによって異なります。
ツール
キャリアアプリです。共有アカウントのパターンはまだローカル製品とサポートコンテンツが必要です。
アプリシェルを1度だけ作成し、制御されたCapgoチャネルに各テナントをマップし、各ブランドを別のコードベースなしで動かすことができます。