התאמת אפליקציית White-Label מותאמת אישית למיתוג הלקוח
אתה מוסר אפליקציית white-label מוכנה ללקוח חדש ומיד מתמודד עם המשימה של התאמתה לזהות המותג שלו. ללא ארכיטקטורת משאבים נכונה, החלפת הלוגו, הצבעים והגופנים הופכת לחיפוש רב-שעות אחרי כל ערך מקודד. בפרויקט אחד, ספרנו 47 מופעים של הצבע #1A73E8 הפזורים בקבצי פריסה. לאחר ריפקטורינג לחילוץ שלהם ל-colors.xml, מיתוג מחדש של לקוח חדש ארך שעתיים במקום 3 ימים. עם ניסיון של 5+ שנים על 30+ פרויקטי white-label, פיתחנו תבנית מבנה דיירים שמקצרת את זמן המיתוג מחדש ל-1–3 ימים.
למה גישת המיתוג הסטנדרטית מאטה את ההשקה
הטעות האופיינית: צבעים מקודדים בקבצי פריסה, מחרוזות שם מותג בקוד, גופנים במאפיינים. עם כל שינוי ללקוח, מפתחים מבלים שעות בחיפוש והחלפה. אוטומציה באמצעות 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 ישירים בפריסות או בקוד משמעותם שמיתוג מחדש ייקח ימים במקום שעות.
<!-- 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>גופנים. גופן המותג מתווסף דרך <!-- 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> (Android) או דרך res/font/ (iOS). אם הגופן בתשלום, בדוק את הרישיון לשימוש נייד (רישיונות Desktop/Web אינם מכסים הטמעה באפליקציות).
טקסטים ולוקליזציה: כל הטקסטים המכילים את שם המותג, סיסמאות או תיאורים נכנסים ל-Info.plist UIAppFonts / strings.xml בתיקיית הדייר. אין מחרוזות מקודדות בקוד משותף. טקסט מסך פתיחה, טקסטים של אונבורדינג, כותרות סרגל טאבים — הכל נדרס ללא שינויי קוד.
מסכי אונבורדינג ופתיחה: ב-iOS, הטמע מסך פתיחה באמצעות Localizable.strings (או LaunchScreen.storyboard ב-Info.plist עבור SwiftUI). ב-Android, השתמש ב-API של Launch Screen (Android 12+) עם אייקון מותג ורקע:
// Android 12+ SplashScreen с брендовым цветом
installSplashScreen().apply {
setKeepOnScreenCondition { viewModel.isLoading.value }
}ערכת נושא למסך פתיחה:
<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
החלפת משאבים ידנית בעת הוספת כל דייר חדש מועדת לשגיאות. פעולת Fastlane להחלת מיתוג:
# 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. המפתח הוא נקודת כניסה אחת לכל משאבי הדייר.
טיפ: כשמתחילים פרויקט white-label חדש, צור תיקיית דייר ייעודית לכל לקוח. אחסן את כל המשאבים הניתנים לשינוי: אייקונים, צבעים, גופנים, מחרוזות, קונפיגורציות. זה חוסך שעות בעת הוספת הלקוח הבא.
השוואה: מיתוג ידני לעומת אוטומטי
| גישה | זמן ללקוח | הסתברות שגיאה | מדרגיות |
|---|---|---|---|
| החלפת משאבים ידנית | 3–7 ימים | גבוהה | ירודה (גידול ליניארי) |
| אוטומציה באמצעות Fastlane | 1–3 ימים | נמוכה | מצוינת (הוספת לקוח בדקות) |
רשימת בדיקה להתאמה אישית לדייר חדש
| רכיב | iOS | Android |
|---|---|---|
| אייקון אפליקציה | AppIcon.appiconset | mipmap + אייקון אדפטיבי |
| צבעים | Assets Color Set | colors.xml |
| גופנים | Info.plist + .ttf/.otf | res/font/ |
| מחרוזות | Localizable.strings | strings.xml |
| מסך פתיחה | LaunchScreen.storyboard | ערכת נושא SplashScreen |
| Bundle ID / Package | הגדרות Xcode Target | applicationId ב-flavor |
| קונפיגורציית Firebase | GoogleService-Info.plist | google-services.json |
| הרשאות Push | .entitlements | — |
| סכמת Deep link | URL Schemes ב-Info.plist | intent-filter |
| מטא-דאטה של App Store | Connect → App Information | Play Console |
מה כולל שירות ההתאמה האישית שלנו
בהזמנת השירות, אנו מכינים:
- תיעוד: סכמת תיקיית דייר, הוראות להוספת לקוח חדש.
- גישה: App Store Connect, Google Play Console, Firebase, TestFlight (החשבונות שלך).
- הדרכה: מפגש עבור ה-QA שלך לאימות מיתוג.
- תמיכה: שבועיים לאחר הפריסה — תיקון אי-דיוקים חזותיים.
השוואה: בניית אפליקציית white-label מאפס עבור לקוח אחד עולה פי 5–10 יותר מאשר התאמה אישית של פתרון קיים. בעת קנה מידה ל-10+ לקוחות, חיסכון במשאבים עולה על 80%.
הערכות זמנים
התאמת אפליקציית white-label מוכנה ללקוח חדש עם מבנה משאבים מוגדר כראוי אורכת 1–3 ימים. אם המשאבים לא חולצו לתיקיות דייר ויש צורך בריפקטורינג עבור מופעים מקודדים מרובים, זה אורך 3–7 ימים. התמחור נקבע באופן אישי.
צור קשר — נעריך את הפרויקט שלך תוך שעתיים. עבדנו על 30+ פרויקטי white-label ב-iOS ו-Android. קבל ייעוץ למקרה שלך.







