מעקב אוטומטי אחר גודל האפליקציה בין גרסאות ב-CI/CD
ללא ניטור שיטתי, גודל האפליקציה גדל מבלי לשים לב. מקרה אחרון: סטארטאפ מסרים מיידיים גדל מ-50 ל-85 מגה-בייט במשך שלוש גרסאות — ההמרה ירדה ב-12%. לאחר שיישמנו מעקב אוטומטי, החזרנו את הרגרסיה ל-55 מגה-בייט. כל מגה-בייט מעל הסף עולה כסף אמיתי: עלייה של 6 מגה-בייט יכולה לעלות $1,000 בחודש בהפסד הכנסות. הפסדי המרה יכולים להגיע ל-$10,000 חודשיים עבור אפליקציות פופולריות.
אנו מגדירים ניטור אוטומטי של גודל בין גרסאות עבור iOS ו-Android, המשולב בצינור ה-CI/CD שלך. אתה מקבל היסטוריית שינויים שקופה, התראות סף, וחסימת רגרסיה לפני השחרור.
מדוע גודל האפליקציה קריטי להמרה
לפי מחקר של Google (Google), כל 6 מגה-בייט מעל סף מסוים מפחיתים את המרת ההתקנה ב-1%. חנות האפליקציות מזהירה משתמשים ברשתות סלולריות כאשר ההורדות עולות על 200 מגה-בייט — סיכון ישיר לאובדן לקוחות. עבור משחקים ואפליקציות מדיה, הסף נמוך אף יותר: כל מגה-בייט נוסף של משאבים מפחית התקנות בכ-0.5%. שליטה בגודל משפיעה ישירות על LTV ושימור משתמשים.
באילו כלים לבחור לניטור גודל
bundletool get-size total מדויק פי עשרה מניתוח ידני, ו-java -jar bundletool.jar get-size total \ --bundle=app-release.aab \ --dimensions=ABI,SCREEN_DENSITY \ --device-spec=device-spec.json מדויק פי 10 מהורדות ידניות מ-App Store Connect. הוא אוטומציה של שליפת נתונים מ-App Store Connect. השווה פתרונות יעילים:
| פלטפורמה | כלי | דיוק | אוטומציה |
|---|---|---|---|
| iOS | App Store Connect | ±0.1 מגה-בייט | דורש API |
| iOS | appstoreconnect-swift-sdk | ±0.01 מגה-בייט | מלאה (CI/CD) |
| Android | Google Play Console | ±1 מגה-בייט | דורש סקריפטים |
| Android | bundletool | ±0.001 מגה-בייט | מלאה (CI/CD) |
{version, build_number, date, ios_compressed_mb, ios_installed_mb, android_aab_mb, breakdown_by_category} מספק דיוק ברמת בייט — סדר גודל מעל ניתוח ידני. עבור iOS, appstoreconnect-swift-sdk מאפשר לך לקבל מדדים ללא ייצוא ידני. שני הכלים משתלבים בקלות ב-GitLab CI או GitHub Actions.
מה לנטר: iOS ו-Android
iOS: ב-App Store Connect → TestFlight → App Size, אתה רואה גדלים דחוסים ולא דחוסים לכל גרסה ולכל סוג מכשיר. App Thinning יוצר מבנים ייחודיים לדגמים ספציפיים — ניטור כל אחד חשוב. מדדים מרכזיים: גודל דחוס (שהורד) וגודל לא דחוס (מותקן). טווח אופייני לאפליקציה בינונית הוא 50–150 מגה-בייט. עקוב גם אחר גודל ה-linkmap כדי לראות את התרומה של כל ספרייה. גודל IPA — קובץ ההפצה הסופי — הוא מדד נוסף לשליטה.
Android: ב-Google Play Console → Android Vitals → App size, אתה רואה גודל APK וגודל הורדה של AAB לכל מכשיר. AAB גוזם משאבים אוטומטית, כך שהגודל המותקן בפועל קטן ב-10–30% מה-APK. גודל APK גולמי אינו תמיד אינדיקטיבי — השתמש ב-bundletool כדי לקבל את גודל ההורדה המדויק.
הגדרת ניטור ב-CI/CD
תוכנית שלב-אחר-שלב לשתי הפלטפורמות:
- iOS: לאחר בניית xcarchive, חלץ גודל באמצעות דוח הגודל של Xcode או דרך App Store Connect API.
- Android: מתוך AAB, קבל את גודל ההורדה האמיתי באמצעות
bundletool get-size total. - בסקריפטים של CI, השווה גודל עם הגרסה הקודמת מהענף הראשי.
- אם סף נחצה (לדוגמה, +3 מגה-בייט אזהרה, +8 מגה-בייט שגיאה), הצינור נכשל או שולח הודעה.
סקריפט לדוגמה עבור Android
java -jar bundletool.jar get-size total \
--bundle=app-release.aab \
--dimensions=ABI,SCREEN_DENSITY \
--device-spec=device-spec.jsonעבור iOS, אנו משתמשים ב-appstoreconnect-swift-sdk כדי לשלוף גודל מ-App Store Connect.
חסימת הבנייה כאשר סף נחצה
תהליך זה הוא הגנה מרכזית מפני רגרסיות. בסקריפט ה-CI, אנו מחלצים את גודל הבנייה הנוכחית ומשווים אותו לגרסה היציבה האחרונה מהענף הראשי. אם סף השגיאה נחצה, הצינור נכשל. עבור סף האזהרה, אנו שולחים הודעה ל-Slack או Telegram. חסימה זו מונעת עליות גודל מקריות מלהגיע לייצור.
ספים והתראות
ספים ניתנים לפעולה נקבעים באופן אישי. עבור אפליקציה טיפוסית, ערכים סבירים:
| סף | פעולה | דוגמה |
|---|---|---|
| אזהרה: +3 מגה-בייט | הודעת Slack | +3 מגה-בייט מספרייה חדשה |
| שגיאה: +8 מגה-בייט | חסימת צינור | +8 מגה-בייט — סרטוני בדיקה נטענו |
הסף תלוי בסוג האפליקציה: עבור מסרים מיידיים, +3 מגה-בייט הוא קריטי; עבור משחק עם רמה חדשה, זה נורמלי. אנו מגדירים במהלך ההערכה.
היסטוריית גרסאות של גודל
אנו מאחסנים מדדים בכל שחרור במסד נתונים או ב-JSON. מבנה רשומה: {version, build_number, date, ios_compressed_mb, ios_installed_mb, android_aab_mb, breakdown_by_category}. פילוח לפי קטגוריה: משאבים (טקסטורות, צלילים) — 60–70%, Frameworks/ספריות, קובץ הרצה. ב-iOS, linkmap מראה את התרומה של כל ספרייה. ב-Android Studio, Analyze APK נותן פילוח ברמת בייט. שמירת היסטוריה מאפשרת ניתוח מגמות וחיזוי צמיחה עתידית.
מה כלול בעבודה וציר הזמן
- שילוב סקריפטים ב-GitLab CI / GitHub Actions
- הגדרת ספים והתראות (Slack/Telegram)
- יצירת לוח מחוונים ב-Grafana או יומן JSON פשוט
- תיעוד להרחבה
- הדרכת צוות (שיחת שעה)
ציר זמן משוער: 1–2 ימי עבודה. העלות מחושבת בנפרד על סמך המחסן הטכנולוגי והתשתית שלך. קבל ייעוץ — אנו מעריכים את הפרויקט שלך תוך שעה.
למהנדסים שלנו יש ניסיון של 5+ שנים והם ייעלו למעלה מ-40 אפליקציות מובייל. המתודולוגיה המוכחת שלנו מבטיחה שליטה בגודל. הזמן הגדרת ניטור גודל עכשיו — שמור על האפליקציה שלך קלה.







