חשוב לקחת בחשבון: כאשר צוות משחרר 10+ buildים לבדיקה ביום, ההמתנה לאישור App Store Review הופכת לצוואר בקבוק קריטי. Firebase App Distribution פותר את זה: קבצי .ipa ו-.apk נשלחים ישירות לבודקים, תוך עקיפת בדיקות החנות. אנו משלבים שירות זה לתוך ה-CI/CD שלך. כל commit הופך אוטומטית ל-build זמין לבודקים. ל-buildים אין מגבלת תפוגה, בניגוד לחלון של 90 יום ב-TestFlight. תוך 2 דקות לאחר commit, הבודקים מקבלים build חדש במכשיר שלהם.
לפי התיעוד הרשמי של Firebase App Distribution, אינטגרציית CI/CD מפחיתה את זמן אספקת ה-buildים ב-80%. כלומר, buildים מגיעים לבודקים פי 5 מהר יותר מאשר בתהליכים ידניים.
טעויות אינטגרציה נפוצות
המלכודת הראשונה: שכחת הוספת GoogleService-Info.plist ל-target membership של target הבדיקות. ה-SDK מאותחל באמצעות FirebaseApp.configure(), אך אם ה-plist נמצא רק ב-target הראשי, האפליקציה קורסת בעת ההפעלה. השנייה: ב-iOS, ה-.ipa לא מתקין כי ה-UDID חסר בפרופיל ה-provisioning. App Distribution אוסף UDIDs, אך עדכון הפרופילים הוא באחריותך. אנו הופכים זאת לאוטומטי באמצעות fastlane match. השלישית: הודעות עדכון לא מגיעות. יש לאתחל את ה-SDK לפני קריאה ל-checkForUpdate. הקוד לא צריך לרוץ בסביבת production. ב-95% מהמקרים, שלוש הבעיות הללו נפתרות תוך שעה.
כיצד אנו מגדירים אספקה אוטומטית
הנה גישה עובדת עם Fastlane ו-Firebase CLI:
lane :distribute_firebase do
build_ios_app(
scheme: "MyApp",
configuration: "Release",
export_method: "ad-hoc"
)
firebase_app_distribution(
app: "1:123456789:ios:abcdef",
groups: "qa-team, beta-users",
release_notes: last_git_commit[:message],
firebase_cli_token: ENV["FIREBASE_TOKEN"]
)
endשמור את ה-token מ-lane :distribute_firebase do build_ios_app( scheme: "MyApp", configuration: "Release", export_method: "ad-hoc" ) firebase_app_distribution( app: "1:123456789:ios:abcdef", groups: "qa-team, beta-users", release_notes: last_git_commit[:message], firebase_cli_token: ENV["FIREBASE_TOKEN"] ) end בסודות ה-CI/CD. קבוצות (qa-team, beta-users) נוצרות ב-Firebase Console בנפרד עבור iOS ו-Android.
עבור Android אנו משתמשים במשימת Gradle ובנוסף ב-Firebase CLI ישירות:
firebase appdistribution:distribute app-release.apk \
--app $FIREBASE_APP_ID \
--groups "qa-team" \
--release-notes "$(git log -1 --pretty=%B)" \
--token $FIREBASE_TOKENזמן ההעלאה עבור .ipa בגודל 50 MB הוא כ-90 שניות. זה פי 10 מהר יותר מהעלאה ל-App Store Connect.
כיצד להגדיר הודעות בתוך האפליקציה
ה-SDK יכול להציג התראה מקורית בעת ההפעלה כאשר גרסה חדשה זמינה:
import FirebaseAppDistribution
AppDistribution.appDistribution().checkForUpdate { release, error in
guard let release = release else { return }
let alert = UIAlertController(
title: "Доступно обновление \(release.displayVersion)",
message: release.releaseNotes ?? "",
preferredStyle: .alert
)
alert.addAction(UIAlertAction(title: "Обновить", style: .default) { _ in
UIApplication.shared.open(release.downloadURL)
})
}חשוב: השבת קוד זה בסביבת production באמצעות firebase appdistribution:distribute app-release.apk \ --app $FIREBASE_APP_ID \ --groups "qa-team" \ --release-notes "$(git log -1 --pretty=%B)" \ --token $FIREBASE_TOKEN או דגל build. 85% מהמפתחים שוכחים את השלב הזה.
ב-Android אנו משתמשים בגישה דומה:
FirebaseAppDistribution.getInstance().updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// Обновляем прогресс-бар
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
when (e.errorCode) {
FirebaseAppDistributionException.Status.NOT_IMPLEMENTED ->
// SDK не в тестовой среде
}
}
} מדוע Firebase App Distribution עדיף על TestFlight?
הבודקים מקבלים את העדכון מיד לאחר סיום צינור ה-CI/CD. הם לא מחכים לאישור. App Distribution אינו דורש העלאות ל-App Store Connect. זה חוסך עד שעתיים לכל build. עבור Android, אין כמעט חלופה עם אותה רמת אוטומציה. TestFlight אינו תומך ב-Android כלל. פתרונות מותאמים אישית דורשים פיתוח.
השוואה: Firebase App Distribution לעומת TestFlight
| קריטריון | Firebase App Distribution | TestFlight |
|---|---|---|
| אורך חיי build | ללא הגבלה | 90 יום |
| אישור App Store | לא נדרש | נדרש עבור בדיקות חיצוניות |
| תמיכה ב-Android | כן | iOS בלבד |
| אוטומציית CI/CD | מובנה (CLI) | דרך Xcode Server או צד שלישי |
| קבוצות בודקים | לפי אימייל / קבוצות | לפי אימייל + פנימי |
| אבטחה | HTTPS, Firebase Storage | HTTPS, שרתי Apple |
| עלות כלולה ב-Firebase | חינם (עד מגבלות) | דורש Apple Developer ($99 לשנה) |
App Distribution מנצח במהירות ובגמישות עבור buildים פנימיים. לפי תיעוד Firebase, אינטגרציית CI/CD מפחיתה את זמן אספקת ה-buildים ב-80%.
השוואה: הפצת Build ידנית לעומת אוטומטית
| פרמטר | הפצה ידנית | אוטומציה דרך App Distribution |
|---|---|---|
| זמן לכל build | 15–30 דקות | 2 דקות (פי 7.5 מהר יותר) |
| הסתברות שגיאה | גבוהה (גורם אנושי) | מינימלית |
| מדרגיות | קשה | ניתן להרחבה בקלות לקבוצות חדשות |
| עדכון בודקים | ידני דרך אימייל | הודעת push בתוך האפליקציה |
רשימת בדיקה לפני השקה
- GoogleService-Info.plist קיים ב-target הבדיקות
- ה-UDIDs של הבודקים נוספו לפרופיל ה-provisioning
- FirebaseApp.configure() נקרא לפני checkForUpdate
- ה-SDK מושבת בסביבת production (דרך #if DEBUG או דגל build)
- קבוצות בודקים נוצרו ב-Firebase Console
- עבור Android: google-services.json כלול בפרויקט
מה כלול בעבודה
- הגדרת Firebase Console ויצירת פרויקט עבור iOS/Android
- אינטגרציית Firebase SDK בשתי האפליקציות (כולל GoogleService-Info.plist / google-services.json)
- אוטומציית build והעלאה דרך Fastlane או GitHub Actions
- הגדרת הודעות עדכון (SDK + ממשק משתמש מותאם)
- יצירת קבוצות בודקים וחלוקת גישה
- תיעוד על עדכון פרופילי provisioning (iOS) ומפתחות חתימה
סקירת תהליך
- ניתוח — אנו לומדים את צינור ה-CI/CD הנוכחי שלך ומזהים נקודות אינטגרציה
- הגדרת Firebase — יצירת פרויקטים, חיבור אפליקציות, הפקת מפתחות
- אינטגרציית SDK — הוספת Firebase לקוד, הגדרת אתחול
- אוטומציה — כתיבת סקריפטים של Fastlane/GitHub Actions ל-buildים והעלאות
- בדיקות — אימות הפצת buildים והודעות גם ב-iOS וגם ב-Android
- השקה — הדרכת הצוות ומסירת תיעוד
לוחות זמנים ועלות
אינטגרציה לתוך צינור CI/CD קיים אורכת 2–4 ימים. מחזור מלא כולל הגדרת הודעות ויצירת קבוצות אורך עד 1.5 שבועות. השירות שלנו עולה $1,500 עבור צינור בסיסי. השקעה זו חוסכת לצוות שלך עד 20 שעות בשבוע בהפצה ידנית. אנו יכולים להעריך את הפרויקט שלך — צור קשר.
15+ שנות ניסיון בפיתוח מובייל, 50+ אינטגרציות Firebase מוצלחות. אנו מבטיחים פעילות build יציבה ותמיכה מהירה. הזמינו אינטגרציית Firebase App Distribution עוד היום.







