אנו מפתחים אפליקציות מובייל לשליחי משלוחי מזון. תפקיד זה הוא ספציפי: מסלולים קצרים (1–5 ק"מ), עד 30 הזמנות במשמרת, נסיעות תכופות באופניים או קורקינט, לוחות זמנים צפופים — האוכל חייב להישאר חם. האפליקציה חייבת לעבוד ללא השהיות, עם מינימום לחיצות על פעולות מפתח, ולהציג במדויק את המסלול מהמסעדה ללקוח. במשך למעלה מ-7 שנים, הוצאנו 15+ אפליקציות משלוחים ואנו מכירים כל פרט טכני.
מדוע סנכרון טיימר קבלת ההזמנה הוא קריטי?
הזמנה חדשה מגיעה כהודעת push עם טיימר. לשליח יש 30–45 שניות לקבל או לדחות. אם אין תגובה, ההזמנה עוברת לשליח הבא. המסך מציג את כתובת המסעדה, כתובת הלקוח, מרחק, זמן משוער ועלות ההזמנה.
הטיימר מיושם כפס התקדמות מעגלי עם ספירה לאחור. ב-iOS אנו משתמשים ב-CAShapeLayer עם אנימציית strokeEnd; באנדרואיד, View מותאם אישית עם Canvas.drawArc. הטיימר הוא בצד הלקוח, מסונכרן עם השרת באמצעות חותמת הזמן של יצירת ההצעה, לא זמן קבלת ה-push — push יכול להתעכב 8–10 שניות בגלל FCM. ראינו את השגיאה: הטיימר נספר מקבלת ה-push, השליח ראה 22 שניות במקום 30, לחץ על 'קבל' ברגע האחרון, אבל השרת כבר הקצה את ההזמנה לשליח אחר. פתרון: כלול offer_created_at במטען ה-push; הלקוח מחשב את ההפרש עם Date.now().
כיצד אנו מגדירים ניווט לסוגי שליחים שונים?
המסלול מורכב משני קטעים: ראשון למסעדה (איסוף), ואז ללקוח (משלוח). כל קטע מספק ניווט פנייה-אחר-פנייה. לשליחי אופניים והולכי רגל, אנו משתמשים במסלולי הליכה; למכוניות, מסלולי נהיגה. המצב נקבע אוטומטית לפי מהירות (מד מהירות GPS: >15 קמ"ש — מכונית, אחרת הולך רגל/אופניים) או נבחר ידנית במהלך ההרשמה.
Mapbox Navigation SDK תומך בפרופילי cycling ו-walking מחוץ לקופסה. Google Maps Navigation SDK תומך גם בהם, אבל בהיקפי הזמנות גדולים זה הופך ליקר יותר. Mapbox SDK זול פי 2.5 מ-Google Maps SDK ב-100,000 בקשות בחודש.
| פרמטר | Mapbox SDK | Google Maps SDK |
|---|---|---|
| פרופילי מסלול | הליכה, רכיבה על אופניים, נהיגה | הליכה, רכיבה על אופניים, נהיגה |
| עלות ב-100 אלף בקשות/חודש | ~$150 | ~$400 |
| מפות לא מקוונות | כן, עם שמירה במטמון | רק בפרימיום |
| קלות אינטגרציה | התקנה מהירה | תצורה מורכבת |
הזמנות מרובות בבת אחת
תכונה מתקדמת (Yandex.Lavka, Delivery Club 'batch'): השליח לוקח 2–3 הזמנות ממסעדה אחת, ומבצע משלוחים לכתובות שונות. המסלול נבנה כרצף נקודות עם סדר אופטימלי באמצעות waypoints ב-Directions API. בצד הלקוח, רשימת נקודות עם כפתור 'הושלם' לכל אחת.
מה כלול בפיתוח אפליקציית שליחים?
אנו מספקים סט מלא של תוצרים:
- תיעוד טכני וארכיטקטורה
- עיצוב מסכים (Figma) עם UX לפעולות מהירות
- קוד מקור ל-iOS/אנדרואיד/קרוס-פלטפורמה
- הגדרת הודעות push (APNs/FCM) ו-geofences
- אינטגרציה עם שערי תשלום (Stripe, PayPal)
- פריסה ל-App Store ו-Google Play עם מעבר ביקורת
- הדרכת צוות הלקוח (2–3 שעות)
- תמיכה לחודש אחד לאחר ההשקה
תהליך העבודה: מניתוח לפרסום
| שלב | משך | תוצאה |
|---|---|---|
| ניתוח ואב-טיפוס | 1–2 שבועות | סיפורי משתמש, wireframes, מפרט API |
| עיצוב | 1–2 שבועות | מוקאפים ברמת פיקסל של כל המסכים |
| פיתוח backend ו-client | 4–6 שבועות | MVP עובד על staging |
| בדיקות ותיקון באגים | 1–2 שבועות | דוח QA, באגים מתוקנים |
| פריסה לחנות | שבוע אחד | אפליקציה ב-App Store ו-Google Play |
ציר זמן: מ-6 עד 10 שבועות עד לגרסה הראשונה. העלות מחושבת באופן אישי.
כיצד להבטיח גישה לנתונים במצב לא מקוון?
שליח אופניים במסעדה במרתף — ללא רשת. נתונים קריטיים (כתובת לקוח, מספר טלפון, קוד דלת) נשמרים במטמון בעת קבלת ההזמנה. לעדכוני סטטוס, אנו משתמשים ב-exponential backoff: אם בקשת 'נמסר' נכשלת, אנו מנסים שוב עם עיכוב הולך וגדל עד לאישור השרת. השליח לא צריך ללחוץ ידנית על 'שלח שוב'.
דוגמה לתצורת תור לא מקוון ב-iOS
let operationQueue = OperationQueue()
operationQueue.maxConcurrentOperationCount = 1
// Используем Reachability для мониторинга сети אישור איסוף הזמנה במסעדה
השליח אוסף את ההזמנה ומאשר על ידי סריקת קוד QR על הקבלה (אמין) או לחיצה על כפתור 'נאסף' (פשוט יותר, אבל ללא אימות). סריקת QR באמצעות MLKit או Vision לוקחת 0.5–1 שניות. כדי להציג אוטומטית את כפתור 'נאסף', אנו משתמשים ב-GPS geofence עם רדיוס של 50–100 מטרים — הכפתור פעיל רק כשהשליח נמצא בפועל במסעדה. זה מונע לחיצות שווא ממקומות אחרים.
טיפים ודירוגים
לאחר המשלוח — מסך המבקש להשאיר טיפ (אופציונלי). אנו משתמשים ב-Stripe Payment Intents לתשלום לאחר. הלקוח מדרג את השליח; הדירוג מצטבר בפרופיל. בסוף המשמרת, השליח רואה סך רווחים, מספר משלוחים ודירוג ממוצע. גרפים נבנים עם SwiftCharts (iOS 16+) או MPAndroidChart — תרשים עמודות פשוט לפי שעת משמרת. בממוצע, שליח מקבל $1–2 בטיפים להזמנה, שב-20 הזמנות ביום מוסיף $27–39 נוספים.
כיצד להגדיל את רווחי השליחים דרך האפליקציה?
- ייעול מסלולים — פחות קילומטראז' מבוזבז.
- הוספת מערכת דירוג — דירוג גבוה משפר אמון וטיפים.
- יישום מצב לא מקוון — השליח לא מאבד הזמנות כשהרשת נופלת.
קבלו ייעוץ לפרויקט שלכם — נעריך זמן ועלות. הזמינו פיתוח turnkey עם אחריות איכות ועמידה בלוחות זמנים. אנו מבטיחים מעבר ביקורת חנות בניסיון הראשון — הניסיון שלנו מאשר זאת.







