White-Label мобильного приложения: кастомизация под бренд клиента

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
White-Label мобильного приложения: кастомизация под бренд клиента
Простой
от 1 дня до 3 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    858
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    743
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1160
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1034
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    968
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    562

Кастомизация White-Label мобильного приложения под бренд клиента

Вы передаёте готовое white-label приложение новому клиенту и тут же сталкиваетесь с задачей адаптации под его фирменный стиль. Без правильной архитектуры ресурсов замена логотипа, цветов и шрифтов превращается в многочасовой поиск каждого хардкодного значения. На одном проекте мы насчитали 47 инстансов цвета #1A73E8, разбросанных по layout-файлам. После рефакторинга с выносом в colors.xml ребрендинг нового клиента стал занимать 2 часа вместо 3 дней. За 5+ лет работы с 30+ white-label проектами мы выработали шаблон tenant-структуры, который сокращает время ребрендинга до 1–3 дней.

Почему стандартный подход к брендированию тормозит запуск?

Типичная ошибка — цвета зашиты в layout-файлах, строки с именем бренда — в коде, шрифты — в проперти. При каждой смене клиента разработчик тратит часы на поиск и замену. Автоматизация через Fastlane делает ребрендинг в 2–3 раза быстрее ручного подхода и исключает ошибки.

Какие элементы приложения меняются при ребрендинге?

Визуальная идентичность

Иконка приложения. На iOS нужны иконки в 15+ размерах для всех устройств и App Store. Современный подход — одна AppIcon.appiconset с одним исходным изображением 1024×1024 и автогенерацией через Xcode или Fastlane appicon. На Android — адаптивная иконка (mipmap-anydpi-v26/ic_launcher.xml) с foreground и background слоями: фон бренда + логотип.

Цветовая схема. Все цвета должны быть вынесены в colors.xml (Android) или Assets.xcassets → Color Set (iOS). Прямые hex-значения в layout или коде — признак того, что ребрендинг займёт несколько дней вместо нескольких часов.

<!-- Android: res/values/colors.xml для конкретного tenant -->
<resources>
    <color name="color_primary">#1A73E8</color>
    <color name="color_primary_variant">#1557B0</color>
    <color name="color_secondary">#FB8C00</color>
    <color name="color_surface">#FFFFFF</color>
    <color name="color_on_primary">#FFFFFF</color>
    <color name="color_error">#B00020</color>
</resources>

Шрифты. Брендовый шрифт подключается через res/font/ (Android) или через Info.plist UIAppFonts (iOS). Если шрифт платный — проверяем лицензию на мобильное использование (Desktop/Web лицензия не покрывает встраивание в приложение).

Тексты и локализация: Все тексты, которые содержат имя бренда, слоганы или описания — в strings.xml / Localizable.strings в директории tenant. Никаких захардкоженных строк в общем коде. Splash screen text, onboarding-тексты, заголовок в tab bar — всё переопределяется без изменения кода.

Экраны онбординга и splash: Splash screen на iOS реализуется через LaunchScreen.storyboard (или Launch Screen в Info.plist для SwiftUI). На Android — через SplashScreen API (Android 12+) с брендовым иконом и фоном:

// Android 12+ SplashScreen с брендовым цветом
installSplashScreen().apply {
    setKeepOnScreenCondition { viewModel.isLoading.value }
}

Тема для splash:

<style name="Theme.App.SplashScreen" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">@color/color_primary</item>
    <item name="windowSplashScreenAnimatedIcon">@drawable/ic_splash_logo</item>
</style>

Как автоматизировать ребрендинг через Fastlane?

Ручная замена ресурсов при добавлении каждого нового tenant — источник ошибок. Fastlane action для применения брендинга:

# Fastfile
lane :apply_branding do |options|
  tenant = options[:tenant]
  brand_dir = "tenants/#{tenant}"

  # Копируем ресурсы
  sh "cp #{brand_dir}/AppIcon.png fastlane/metadata/#{tenant}/app_icon.png"
  sh "cp -r #{brand_dir}/assets.xcassets ios/MyApp/#{tenant}.xcassets"

  # Обновляем Bundle ID
  update_app_identifier(
    xcodeproj: "ios/MyApp.xcodeproj",
    plist_path: "MyApp/Info.plist",
    app_identifier: "com.#{tenant}.app"
  )

  # Обновляем Display Name
  update_info_plist(
    plist_path: "ios/MyApp/Info.plist",
    display_name: options[:display_name]
  )
end
fastlane apply_branding tenant:brand_b display_name:"Brand B"
fastlane ios build tenant:brand_b

Fastlane — не единственный вариант. Аналогичные скрипты можно написать на Bash или Makefile. Главное — единая точка входа для всех tenant-ресурсов.

Совет: Начинайте новый white-label проект с выделенной tenant-директории для каждого клиента. Храните все изменяемые ресурсы: иконки, цвета, шрифты, строки, конфиги. Это сэкономит часы при добавлении следующего клиента.

Сравнение ручного и автоматизированного брендирования

Подход Время на одного клиента Вероятность ошибки Масштабируемость
Ручная замена ресурсов 3–7 дней Высокая Плохая (линейный рост)
Автоматизация через Fastlane 1–3 дня Низкая Отличная (добавление клиента за минуты)

Чеклист кастомизации нового tenant

Элемент iOS Android
Иконка приложения AppIcon.appiconset mipmap + adaptive icon
Цвета Assets Color Set colors.xml
Шрифты Info.plist + .ttf/.otf res/font/
Строки Localizable.strings strings.xml
Splash screen LaunchScreen.storyboard SplashScreen theme
Bundle ID / Package Xcode Target settings applicationId в flavor
Firebase config GoogleService-Info.plist google-services.json
Push entitlements .entitlements
Deep link scheme Info.plist URL Schemes intent-filter
App Store metadata Connect → App Information Play Console

Что входит в работу по кастомизации?

При заказе услуги мы подготавливаем:

  • Документация: схема tenant-директорий, инструкция по добавлению нового клиента.
  • Доступы: App Store Connect, Google Play Console, Firebase, TestFlight (ваши аккаунты).
  • Обучение: сессия для вашего QA по проверке брендинга.
  • Поддержка: 2 недели после деплоя — исправление неточностей в визуале.

Сравните: создание white-label приложения с нуля под одного клиента стоит в 5–10 раз дороже, чем кастомизация готового решения. При масштабировании на 10+ клиентов экономия ресурсов превышает 80%.

Ориентиры по срокам

Кастомизация готового white-label приложения под нового клиента при правильно настроенной структуре ресурсов — 1–3 дня. Если ресурсы не были вынесены в tenant-директории и требуется рефакторинг для нескольких мест хардкода — 3–7 дней. Стоимость рассчитывается индивидуально.

Свяжитесь с нами — оценим ваш проект за 2 часа. Работаем с 30+ white-label проектами на iOS и Android. Получите консультацию по вашему кейсу.

White-label мобильные приложения: SDK, модульная архитектура и мультиарендность

В нашей практике white-label разработка – не просто «перекрасить приложение». Это архитектурное решение, которое необходимо закладывать на старте. Мы не раз сталкивались с попытками переделать монолитное приложение под white-label постфактум – это один из самых дорогих рефакторингов в мобильной разработке. За 5 лет работы мы реализовали 20+ white-label проектов для iOS, Android и кросс-платформенных стеков. Гарантируем: правильная модульная архитектура сокращает время адаптации нового клиента до 2 дней, а не 2 месяцев. White-label продукт (Wikipedia) – это не просто смена логотипа, а полноценная мультиарендная система. Получите консультацию по white-label архитектуре – мы поможем выбрать подход под вашу задачу.

Что значит «правильная» модульная архитектура для white-label

Ключевой принцип: ни один модуль бизнес-логики не должен знать о конкретном клиенте. Конфигурация, цвета, тексты, feature flags – всё приходит снаружи через dependency injection, а не хардкодится.

На iOS правильная структура: Swift Packages для каждого домена (AuthKit, PaymentsKit, ProfileKit), отдельный AppKit для точки входа, и BrandKit – пакет с темой конкретного клиента. Основное приложение – это тонкая оболочка, которая собирает их вместе.

// Неправильно
class PaymentViewController: UIViewController {
    let primaryColor = UIColor(hex: "#FF5722") // хардкод клиента A
}

// Правильно
class PaymentViewController: UIViewController {
    let theme: AppTheme // инъектируется при сборке
}

На Android аналог – Gradle multi-module с productFlavors. Каждый flavor собирает приложение для конкретного клиента: подставляет google-services.json, тему, ресурсы. Один репозиторий, несколько артефактов.

Theming: дальше цветов и шрифтов

Поверхностный white-label – сменить цвета и логотип. Это занимает день. Настоящая кастомизация – когда клиент может отключить модуль, изменить порядок экранов онбординга, использовать свой платёжный провайдер.

В React Native для deep theming: ThemeProvider (React Context) на верхнем уровне, токены дизайна (colors.primary, spacing.md) через theme object, компоненты получают значения только через токены. Для Flutter: ThemeData + ThemeExtension для кастомных токенов за пределами Material Design.

Runtime theming (загрузка темы с сервера) – отдельный уровень сложности. На iOS не обойтись без UIAppearance proxy + manual update для существующих view; SwiftUI с Environment и @EnvironmentObject для темы упрощает это значительно. Согласно App Store Review Guidelines Section 5.1.1, данные пользователя, в том числе настройки темы, должны обрабатываться с явного согласия.

Почему мультиарендность критична для white-label

Если несколько white-label приложений используют общий бэкенд, нужна tenant-идентификация на уровне API. Вариант 1: X-Tenant-ID header в каждом запросе. Вариант 2: отдельные поддомены (clienta.api.example.com). Вариант 3: tenant из JWT-токена после аутентификации.

На уровне мобильного приложения: tenant ID либо зашит в конфигурацию при сборке (через xcconfig / gradle.properties), либо определяется динамически (по bundle ID или через Remote Config). Динамическое определение нужно если один бинарник обслуживает нескольких клиентов – редкий, но реальный кейс для enterprise.

Экономия от мультиарендной архитектуры по сравнению с выделенными бэкендами – до 60% на операционных расходах при 5+ клиентах.

Как правильно спроектировать white-label архитектуру?

Пошаговый подход, который мы применяем:

  1. Анализ – определяем домены, которые будут общими для всех клиентов, и точки кастомизации.
  2. Выбор стека – для iOS Swift Packages + XCFramework; для Android Gradle multi-module + AAR; для кросс-платформы – Flutter/Dart package или React Native library.
  3. Проектирование конфигурации – JSON-схема бренда (colors, fonts, feature flags, ссылки), валидация на клиенте.
  4. Реализация модулей – каждый модуль публикует протокол/интерфейс; конкретная реализация инъектируется через DI-контейнер (Swinject, Dagger Hilt).
  5. Автоматизация сборки – Fastlane + CI pipeline с параметром CLIENT_ID.
  6. Тестирование – UI-тесты для каждого бренда (скриншотное тестирование с Percy или Firebase Test Lab).
  7. Деплой – параллельная загрузка в App Store Connect / Google Play Console через распределённые билды.

SDK: когда white-label это библиотека

Если продукт встраивается в чужие приложения – это SDK, а не white-label app. Требования принципиально другие.

iOS SDK через Swift Package Manager: Package.swift описывает продукт, target, зависимости. Публикуется через git tag. Критично: не тянуть транзитивные зависимости без необходимости – каждая зависимость SDK потенциально конфликтует с зависимостями хост-приложения.

Android SDK через Maven (Artifactory или GitHub Packages): AAR-артефакт с POM метаданными. api() vs implementation() в gradle – только то, что нужно клиенту, выноси в api(). Всё внутреннее – implementation().

Версионирование SDK через Semantic Versioning – обязательно. Breaking changes в minor версии – смерть для B2B продукта.

Типичные ошибки при разработке white-label SDK
  • Отсутствие обратной совместимости на уровне API (breaking changes в patch-версии).
  • Использование внутренних типов в публичных методах (нарушение инкапсуляции).
  • Жёсткая привязка к конкретной DI-библиотеке хост-приложения.
  • Недостаточная документация по настройке (как подписать XCFramework, как добавить AAR в Gradle).

Как автоматизировать сборку для десятка брендов

Для 5+ white-label клиентов ручная сборка нерациональна. Fastlane с lanes на каждый клиент и shared методами – базовый вариант. Более зрелое решение: параметризованный CI pipeline, где передаёшь CLIENT_ID и получаешь собранный IPA/APK/AAB для конкретного бренда.

Codemagic поддерживает environment variables per workflow – удобно для multi-brand сборок без сложного Fastfile.

Сравнение подходов к white-label:

Подход Сложность реализации Гибкость кастомизации Время вывода нового бренда
Fork репозитория Низкая (2–3 дня) Минимальная (копия кода) 1–2 дня
Feature flags + конфиги Средняя (2–4 недели) Средняя (цвета, тексты, модули) 2–4 часа
Multi-module / productFlavors Высокая (1–2 месяца) Высокая (любая логика) 30 минут
SDK + white-label оболочка Очень высокая (2+ месяца) Максимальная (встраивание в чужое приложение) 1–2 дня

White-label на основе productFlavors в 3–5 раз быстрее при добавлении нового клиента, чем fork-подход, и снижает риск расхождения кодовой базы. Экономия на сопровождении 10 брендов достигает 70% по сравнению с копированием кода.

Что входит в работу

Мы предоставляем white-label разработку под ключ:

  • Архитектурный дизайн – выбор стека, разбивка на модули, схема мультиарендности.
  • Базовая функциональность – авторизация, профиль, платёжный модуль (StoreKit 2 / Billing 6), push-уведомления (APNs / FCM), deep linking (Universal Links / App Links).
  • Инструменты брендирования – темизация, feature flags, конфигурация экранов.
  • Документация – описание модулей, инструкция по сборке, guide для клиента.
  • Доступы – репозиторий, CI/CD, App Store Connect / Google Play Console.
  • Обучение – 2–4 часа демонстрации для команды заказчика.
  • Поддержка – 1 месяц гарантийного сопровождения после релиза.

Сроки ориентировочно

Тип задачи Сроки
Рефакторинг монолита в white-label архитектуру 2–3 месяца
Новое white-label приложение с нуля (iOS / Android) 3–4 месяца
Разработка мобильного SDK от 6 недель (простой), от 3 месяцев (полнофункциональный)

Стоимость рассчитывается индивидуально – зависит от количества модулей, платформ и глубины кастомизации. Закажите бесплатный анализ вашей архитектуры – мы оценим объём работ за 2 дня. Свяжитесь с нами, чтобы обсудить ваш white-label проект – гарантируем соблюдение App Store Review Guidelines и Google Play policies.