ブランドバリエーションが急増する
すべての顧客が独自のロゴ、テーマ、機能フラグ、コンテンツ、法的テキスト、リリースタイミングを望む。分離されたフォークは、永久的なメンテナンス負債にそれらの要求を変える。
ホワイトラベルアプリケーションの運用
簡単なビジネス約束があります: 多数のブランド化されたアプリを販売することなく、多数のアプリを維持する必要がなくなる。Capgoは、テナント固有のバンドル用のチャンネル、ネイティブシェル用のビルダー、ブランドが急いで修正する必要がある場合のロールバック機能など、運用上実現可能なようにする
マーティンから人間のサポート
シェル
Capacitor アプリ
テナント
チャンネル
セーフティ
ロールバック
問題
すべての顧客が独自のロゴ、テーマ、機能フラグ、コンテンツ、法的テキスト、リリースタイミングを望む。分離されたフォークは、永久的なメンテナンス負債にそれらの要求を変える。
メニューのタイプミス、オンボーディングの修正、またはカスタマーのみの機能は、すべてのテナントをバイナリリリースとアプリストアレビューに強制するべきではない。
グローバルリリースはすべてのブランドを一度に壊す。ブランドごとにフォークを取るとチームは遅くなる。リリースモデルには中間の道が必要だ。
コンクリートモデル
B2B SaaSのカスタマーは、ロゴ、テーマ、オンボーディングコピー、機能フラグを取得し、すべての他のカスタマーに同じアップデートを強制しない。
各レストラン、クリニック、ジム、またはローカルブランチは、ローカルメニュー、資産、キャンペーン画面、コンテンツアップデートを受け取ることができるが、新しいバイナリは必要ない。
ホストアプリは承認されたミニアプリまたはカスタマーワークスペースをリストし、実行時には対応するCapgoチャンネルにデバイスを切り替えることができる。
実装例
すべてのテナントで同じ Capacitor シェルを使用します。テナント固有のウェブ バンドルを 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
The Capgo モデルは、ネイティブ アプリの安定性を保ち、制御されたチャネルを通じてブランド固有のウェブ エクスペリエンスを動かします。
各テナント、フランチャイズ、ワークスペース、顧客、またはアプリ バリアントごとにチャネルを作成し、ブランドが受け取るべきバンドルだけをプッシュします。
安全な場合、共有の修正をすべてのチャネルに推進するか、変更が特定の場合に 1 つの顧客にリリースを隔離します。
テナント固有のバンドルが破損した場合、すべての他のブランド アプリに影響を与えずにそのチャネルをロールバックします。
アイコン、パーミッション、プラグイン、またはストアメタデータが変更された場合に新しいネイティブシェルをビルダーで使用してください。ブランドのコンテンツが週に1回変更される場合にOTAを使用してください。
リリースモデル
ホワイトラベルオペレーションは、各テナントが明確なリリースレーンを持っており、各レーンが独立して監視できるようにすることで管理可能になります。
共有の認証、分析、請求、ナビゲーション、ネイティブプラグインを1つのCapacitorアプリに保持するのではなく、各クライアントごとに再構築するのではなくしてください。
各クライアント、フランチャイズ、場所、またはワークスペースをCapgoチャンネルにマップし、それぞれの更新履歴とリリースカレンダーを持つようにしてください。
アプリストアのレビューなしで、クライアント固有のJavaScript、CSS、アセット、設定、コピー、実験を配信してください。
幅広く信頼された変更を宣伝し、リスクのあるロールアウトを一時停止する、または必要なテナントだけにロールバックする。
ユーザー信号
テナント42は今日すぐに緊急修正を受けたいが、テナント1、テナント7、すべてのアプリストアリストを同時に動かしたくない。
一般的なホワイトラベル顧客フィードバック
「Capacitor」で構築されたアプリ
地域スポーツ、エンターテインメント、テレコムブランドは、スケジュール、キャンペーン、サポート、市場固有のコンテンツをそれぞれのブランドや国ごとに変更することができる一つのアプリの基盤を再利用することができる
スポーツ
地域スポーツメディアアプリでは、スケジュールやローカルコンテンツに市場の制御が必要です。
エンターテインメント
エンターテインメントガイドでは、コンテンツの表面は市場によって異なり、プログラミングウィンドウによって異なります。
ツール
キャリアアプリ
アプリシェルを1度だけ作成し、すべてのテナントを制御されたCapgoチャネルにマップし、各ブランドを別のコードベースなしで動かす
マーティンから人間のサポートを受けます。