אוטומציה של הפצת build באמצעות Firebase App Distribution

כשכל שעת המתנה לבנייה היא הפסד לצוות, העלאה ידנית של בניות בדיקה הופכת לצוואר בקבוק. אנחנו הופכים את ההפצה לאוטומטית באמצעות Firebase App Distribution, ומשלבים אותה ב-CI/CD שלך עבור Android ו-iOS. הצוות שלנו מספק את הפרויקט במפתח מלא—מהגדרת החתימה ועד לשילוב ה-pipeline, עם תמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
אוטומציה של הפצת build באמצעות Firebase App Distribution
פשוט
מ- 1 יום עד 3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

אוטומציה של הפצת builds דרך Firebase App Distribution

כאשר builds לבדיקות צריכים להגיע לצוות לפני ש-App Store או Google Play מאשרים שחרור, כל שעת המתנה היא זמן השבתה. Firebase App Distribution (FAD) פותר זאת: הוא מעביר .apk או .ipa ישירות לבודקים, תוך עקיפת המודרציה. אבל העלאות ידניות דרך ממשק האינטרנט גם הן גוזלות זמן, במיוחד עם מספר commits יומיים. אנו הופכים תהליך זה לאוטומטי לחלוטין: החל מחתימה על iOS דרך firebase_app_distribution ועד אינטגרציה עם GitHub Actions או GitLab CI. הגדרה סוהר עם חודש תמיכה — השקעה מ-$1,500, חיסכון של 10+ שעות בשבוע.

יתרונות FAD על פני TestFlight ו-Play Console

TestFlight דורש הרשמה לבדיקת Apple ומגביל ל-100 בודקים. Play Console הוא אנדרואיד בלבד, ובדיקות פנימיות עלולות להתעכב עד שעה. FAD מציע עד 1000 בודקים לפרויקט, מסירה מיידית, ואינטגרציה מובנית עם Crashlytics — דוחות קריסה מופיעים מיד לאחר ההתקנה. FAD מעביר builds פי 5 מהר יותר מבדיקות פנימיות של Play Console ומפחית מאמץ ידני ב-80%. מפתחים משקיעים זמן בתכונות, לא בהמתנה.

הגדרת הפצת אנדרואיד דרך Fastlane

Fastlane הוא הכלי הסטנדרטי ל-CI/CD בפיתוח מובייל. הפלאגין lane :distribute_android do gradle( task: "assemble", build_type: "Debug", flavor: "staging" ) firebase_app_distribution( app: ENV["FIREBASE_APP_ID_ANDROID"], firebase_cli_token: ENV["FIREBASE_CLI_TOKEN"], groups: "qa-team, internal-testers", release_notes: "Branch: #{git_branch}\nCommit: #{last_git_commit[:message]}" ) end הופך את ההפצה לפקודה אחת. בצעו את השלבים הבאים:

  1. התקינו את Fastlane ואת הפלאגין: firebase login:CI ו-lane :distribute_ios do match(type: "adhoc", readonly: true) build_app( scheme: "MyApp-Staging", export_method: "ad-hoc" ) firebase_app_distribution( app: ENV["FIREBASE_APP_ID_IOS"], firebase_cli_token: ENV["FIREBASE_CLI_TOKEN"], groups: "ios-testers", release_notes: "Build #{build_number}" ) end .
  2. קבלו מפתח JSON של Service Account מ-Google Cloud IAM עם תפקיד Firebase App Distributor.
  3. שמרו את המפתח ואת Firebase App ID (firebase appdistribution:testers:invite) בסודות CI.
  4. הגדירו lane:
lane :distribute_android do
  gradle(
    task: "assemble",
    build_type: "Debug",
    flavor: "staging"
  )
  firebase_app_distribution(
    app: ENV["FIREBASE_APP_ID_ANDROID"],
    firebase_cli_token: ENV["FIREBASE_CLI_TOKEN"],
    groups: "qa-team, internal-testers",
    release_notes: "Branch: #{git_branch}\nCommit: #{last_git_commit[:message]}"
  )
end

לחלופין, השתמשו ב-register_devices עבור token, אך Service Account מומלץ ל-CI.

הגדרת iOS: חתימת Ad-Hoc ו-UDID

עבור iOS, התהליך מורכב יותר בשל provisioning profiles. יש צורך ב-.ipa חתום ב-ad-hoc או development. רשמו מכשירי בודקים ב-Apple Developer Portal. Firebase אוספת UDIDs אוטומטית דרך קישור onboarding, אך יש לבנות מחדש את הפרופיל. Fastlane + FIREBASE_APP_ID הופכים גם זאת לאוטומטי:

lane :distribute_ios do
  match(type: "adhoc", readonly: true)
  build_app(
    scheme: "MyApp-Staging",
    export_method: "ad-hoc"
  )
  firebase_app_distribution(
    app: ENV["FIREBASE_APP_ID_IOS"],
    firebase_cli_token: ENV["FIREBASE_CLI_TOKEN"],
    groups: "ios-testers",
    release_notes: "Build #{build_number}"
  )
end

תיעוד Fastlane: פלאגין firebase_app_distribution

בעת הוספת בודק חדש, ייבאו את ה-UDID שלו דרך קישור FAD שנוצר — 1:123456789:android:abcdef או דרך הממשק. לאחר מכן עדכנו את הפרופיל. firebase appdistribution:distribute app-release.apk \ --app "$FIREBASE_APP_ID" \ --groups "qa-team" \ --release-notes "Automated build $CI_BUILD_NUMBER" \ --token "$FIREBASE_CLI_TOKEN" עם האפשרות match עושה זאת אוטומטית ב-build הבא.

Firebase App ID: אל תבלבלו ביניהם

sigh אינו ה-bundle identifier; הוא מחרוזת כמו last_git_commit. קבלו אותו מ-Firebase Console → Project Settings → Your apps. טעות נפוצה היא שימוש ב-Android ID עבור iOS, או להיפך.

אינטגרציית CI ללא Fastlane

אם הפרויקט אינו משתמש ב-Fastlane, Firebase CLI עובד ישירות:

firebase appdistribution:distribute app-release.apk \
  --app "$FIREBASE_APP_ID" \
  --groups "qa-team" \
  --release-notes "Automated build $CI_BUILD_NUMBER" \
  --token "$FIREBASE_CLI_TOKEN"

פקודה זו מתאימה לכל CI: GitHub Actions, GitLab CI, Bitrise, CircleCI. ההבדל היחיד הוא איך ה-token מועבר — דרך משתני סביבה.

השוואה: Fastlane לעומת Firebase CLI

קריטריון Fastlane Firebase CLI
ניהול חתימות אוטומציה של 1:, sigh חתימת IPA/APK ידנית
הערות שחרור מ-Git last_git_commit מובנה רק ממשתני CI
תמיכה בקבוצות כן כן
Token Service Account או login:CI Service Account או login:CI
גמישות CI דורש סביבת Ruby רק בינארי של 10 MB
טעויות נפוצות ודרכים להימנע מהן
טעות פתרון
App ID שגוי בדקו ב-Firebase Console: מתחיל ב-1:
iOS: הבודק לא רואה את ה-build UDID לא בפרופיל — עדכנו דרך match
login:CI token פג תוקף השתמשו ב-Service Account JSON
ProGuard/R8 שובר את ה-build הוסיפו כללי keep עבור Firebase SDK

מה כלול בהגדרה סוהר

  • ניתוח ה-CI הנוכחי ומחסן ה-builds.
  • יצירת פרויקט Firebase או הגדרת פרויקט קיים.
  • יצירת service account ב-Google Cloud IAM.
  • כתיבת lanes של Fastlane או סקריפטים של shell עבור שתי הפלטפורמות, כולל חתימת iOS.
  • אינטגרציה עם GitLab CI, GitHub Actions, או Bitrise.
  • הגדרת קבוצות בודקים (QA, Internal, Alpha).
  • ריצת בדיקה, אימות מסירת הודעות.
  • תיעוד למפתחים ומהנדסי QA.

ציר זמן: 1 עד 3 ימים בהתאם למורכבות החתימה ומספר הפלטפורמות. אנו מבטיחים תמיכה ל-30 יום לאחר המסירה: התאמת סקריפטים לשינויים שלכם. עם ניסיון של 5+ שנים ב-CI/CD למובייל ויותר מ-50 אינטגרציות מוצלחות, אנו מבטיחים אוטומציה אמינה.

לפרטים נוספים, צרו קשר לייעוץ ראשוני. ההשקעה באוטומציה מחזירה את עצמה בהאצת מחזורים — כל build נמסר פי 5 מהר יותר, ומפחית עלויות מאמץ ידני בעד 60%.