Some apps need to appear for several customers or brands, each with its own name, logo, colors, and store listing, but with the same codebase behind them. Whitelabel mode is made for this. You create a whitelabel project in the project editor’s pro mode by choosing “whitelabel” as the deployment mode. If you are new to the platform, build a regular project first so that you know the build and deployment flow before it multiplies per variant.
Schema, variants, and binding
- Define the variant schema. You decide which properties differ between brands and describe each as a field with a type: text, number, URL, color, file, dropdown, yes/no, or JSON. Typical fields are the app name, the primary color, the logo, and feature toggles.
- Create variants. Each brand becomes a variant with an ID, a name, and a value for every field of the schema. Each variant also gets its own domains for web and backend and its own bundle IDs for iOS and Android.
- Bind fields to the app. Whitelabel components connect the schema fields with your app. The codebase reads the values of the respective variant and renders the branding with them.
What is created per variant
For each variant, the pipeline produces its own builds and its own Docker images, and each brand is deployed separately. Each variant runs under its own domains; if you have not entered any, the platform assigns <variant>.<project>.<organization-domain>. You submit each variant to the stores with its own bundle ID. What that takes is described in Publish apps, and the identifiers themselves are covered in Bundle identifiers and Package names.
Components that you do not mark as whitelabel stay shared. A backend that serves all brands therefore continues to run once for all variants. Which domains this requires and how to set them up is described in Domain.