メインコンテンツにジャンプ

ブランド化されたアプリの運用

ブランド化されたモバイルアプリのリリースの混乱なし

ビジネス上の約束は単純です。多くのブランド化されたアプリを販売することですが、多くのアプリを維持する必要はありません。Capgoは、テナント固有のバンドル用のチャンネル、ネイティブシェルのビルダー、ブランドが急いで修正する必要がある場合のロールバックなど、運用上の実現可能性を提供します。

1つのコードベース
Capacitorのソース
テナントチャンネル
制御されたリリースレーン
ブランドごと
ロールバックブレード半径

シェル

Capacitor アプリ

テナント

チャンネル

セーフティ

ロールバック

問題

白ラベルアプリは、すべての顧客がフォークになるたびに失敗する

ブランドバリアントは速く増殖する

すべての顧客は独自のロゴ、テーマ、機能フラグ、コンテンツ、法的要件のテキスト、およびリリースタイミングを望む。

分岐ごとにそれらの要求は永久的なメンテナンス負債に変わります。

テナントの修正はストアレビューで遅れる

メニューのタイプミス、オンボーディングの修正、またはカスタマーオンリーの機能は、すべてのテナントをバイナリーリリースとアプリストアレビューに強制するべきではない。

グローバルリリースはあまりにも粗雑です

1つのグローバルアップデートはすべてのブランドを一度に壊すことができます。1つのブランチごとにブランドを分けることでチームは遅くなる。リリースモデルは中間の道を求めている。

What white-label means in a real Capgo app

実際の__CAPGO_KEEP_0__アプリで白ラベルとは何を意味するか

カスタマーブランドSaaSアプリ

B2B SaaSの顧客は独自のロゴ、テーマ、オンボーディングコピー、機能フラグを取得することができ、すべての他の顧客に同じアップデートを強制する必要がない。

フランチャイズまたはロケーションアプリ

各レストラン、クリニック、ジム、またはローカルブランチはローカルメニュー、資産、キャンペーンスクリーン、コンテンツの更新を受け取ることができ、新しいバイナリを必要としない。

A host app can list approved mini-apps or customer workspaces and switch the device to the matching Capgo channel at runtime.

実装例

1つの共有シェル、テナント固有のチャネル

同じ 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 })
}

ソリューション

1つのアプリシェル、多くの制御されたブランドレーン

Capgo モデルはネイティブアプリを安定させ、制御されたチャネルを通じてブランド固有のWebエクスペリエンスを動かします。

ブランドごとのチャネル

各テナント、ブランド、ワークスペース、顧客、またはアプリバリアントごとにチャネルを作成します。ブランドが受け取るべきバンドルだけをプッシュします。

グローバルおよびターゲットリリース

共通の修正をすべてのチャネルにプロモートするか、変更が特定の顧客に特有の場合に1つの顧客にリリースを隔離します。

テナントレベルのロールバック

__CAPGO_KEEP_0__のテナント固有のバンドルが破損した場合、他のすべてのブランドアプリに影響を与えずにそのチャネルを戻します。

シェル用ビルダー、OTA用ビルダー

__CAPGO_KEEP_0__のアイコン、パーミッション、プラグイン、またはストアメタデータが変更された場合に新しいネイティブシェルをビルダーで使用してください。__CAPGO_KEEP_0__のブランドコンテンツが毎週変更される場合にOTAを使用してください。

リリースモデル

多くのブランド用に作られたリリースワークフロー

白ラベルオペレーションは、各テナントが明確なリリースレーンを持っており、各レーンが独立して監視できるようにすることで管理可能になります。

1

共有シェルを作成

Capacitorアプリに共有の認証、分析、請求、ナビゲーション、ネイティブプラグインを1つに残しておきましょう。

2

テナントチャネルを作成

Capgoチャネルごとに、顧客、フランチャイズ、場所、またはワークスペースごとに、独自のアップデート履歴とリリースカレンダーをマップしてください。

3

ブランドバンドルを公開

アプリストアのレビューなしで顧客固有のJavaScript、CSS、アセット、設定、コピー、実験を配信してください。

4

ロールアウトとロールバックの制御

確立された変更を広く推進し、リスクのあるロールアウトを一時停止、または特定のテナントにのみロールバックする。

ユーザー信号

ユーザーは「制御」を繰り返し言及する。テナント42に緊急修正を当日適用したいが、テナント1、テナント7、すべてのアプリストアリストを同時に動かしたくない。

共通のホワイトラベル顧客フィードバック

Capacitorで構築されたアプリ

地域メディアとキャリアアプリは共通のコアを共有するが、ローカル制御が必要

地域スポーツ、エンターテインメント、テレコムブランドは、スケジュール、キャンペーン、サポート、市場固有のコンテンツを各ブランドまたは国ごとに変更することができるアプリの基盤を共有することができる。

アプリタイプ
ホワイトラベル
ストアカテゴリ
スポーツ、エンターテインメント、ツール
ソース
パブリック ストア データセット
__CAPGO_KEEP_0__

スポーツ

__CAPGO_KEEP_0__

地域スポーツメディアアプリです。スケジュールとローカルコンテンツのマーケットコントロールが必要です。

1.6M インストール 3.3 評価
Google Play リストを表示
__CAPGO_KEEP_0__

エンターテインメント

__CAPGO_KEEP_0__

エンターテインメントガイドでコンテンツは市場とプログラミングウィンドウによって異なります。

12.1M インストール 4.4 評価
Google Play リストを表示
Mi Orange アプリアイコン

ツール

Mi Orange

キャリアアプリです。共有アカウントのパターンはまだローカル製品とサポートコンテンツが必要です。

9.3M インストール 4.2 評価
Google Play リストを表示

1つのCapgoリリースシステムからすべてのブランドのアプリを配信します。

アプリシェルを1度だけ作成し、制御されたCapgoチャネルに各テナントをマップし、各ブランドを別のコードベースなしで動かすことができます。