בניית אפליקציית מעקב כושר ל-iOS ואנדרואיד
אפליקציית כושר היא יותר ממד צעדים וגרפים יפים. מאחורי כל חיישן ישנה API נפרדת עם מגבלות קצב דגימה, מדיניות גישה ברקע והרשאות ש-Apple ו-Google מהדקות בכל גרסה. אנו מפתחים מעקבי כושר natives ל-iOS ואנדרואיד שעובדים נכון עם CoreMotion, HealthKit, Google Fit ו-Health Connect בו-זמנית — מורכב משמעותית יותר מרוב קטגוריות המובייל האחרות. אנו נעריך את הפרויקט שלך תוך יום אחד — צור קשר לייעוץ.
איך מעקב כושר עובד ב-iOS ואנדרואיד
אילו חיישנים ולמה
| חיישן | iOS API | Android API | תדר אופייני | צריכת חשמל (לשעה) |
|---|---|---|---|---|
| מד תאוצה | CMMotionManager | SensorManager (TYPE_ACCELEROMETER) | 50–100 הרץ | 15–20% ב-100 הרץ |
| גירוסקופ | CMMotionManager | SensorManager (TYPE_GYROSCOPE) | 50–100 הרץ | 12–18% ב-100 הרץ |
| ברומטר | CMAltimeter | SensorManager (TYPE_PRESSURE) | 1–10 הרץ | 3–5% |
| מד צעדים | CMPedometer | StepCounterSensor / Health Connect | מצטבר | < 5% |
| דופק | HealthKit (מ-Apple Watch) | Health Connect | בעת אירוע | < 2% |
| GPS | CLLocationManager | FusedLocationProviderClient | 1 הרץ למעקב | 30–40% במהלך מעקב רציף |
דגימת מד תאוצה בתדר גבוה (100 הרץ) ברקע היא דרך ישירה לריקון סוללה תוך 3–4 שעות. ב-iOS, CMMotionManager.startDeviceMotionUpdates() עם UIBackgroundModes: processing ו-BGProcessingTask מאפשר עיבוד אצווה, אך ביצוע ברקע מוגבל ל-30 שניות. באנדרואיד, WorkManager עם ExpeditedWork או Foreground Service עם סוג FOREGROUND_SERVICE_TYPE_HEALTH. שימוש במד הצעדים המערכתי CMMotionActivityManager.startActivityUpdates() מפחית צריכת חשמל ב-40% בהשוואה לאלגוריתם מותאם אישית.
CoreMotion וזיהוי פעילות
walking מספק פעילויות מוכנות: running, cycling, automotive, stationary, CMMotionActivityManager.isActivityAvailable(). זה עדיף על ניתוח מד התאוצה בעצמך עבור רוב המשימות. עם זאת, יש ניואנס: הסיווג מגיע באיחור של 5–30 שניות (iOS ממצע נתונים) ועובד רק אם CLLocationManager מחזיר true — לא זמין בחלק מדגמי iPod Touch.
לאלגוריתם זיהוי צעדים מותאם אישית ממד התאוצה: שיא תאוצה אנכית (ציר Y) עם סף > 1.2g ב-50 הרץ. המרווח המינימלי בין שני שיאים הוא 300 אלפיות השנייה (תדר צעדים לא גבוה מ-~3.3 הרץ). זהו יישום בסיסי. אלגוריתם מדויק מתחשב במיקום הטלפון (כיס/יד/תרמיל) באמצעות מסווג עם CoreML או TensorFlow Lite — דיוק הזיהוי מגיע ל-95%.
מעקב מסלול GPS
desiredAccuracy: kCLLocationAccuracyBest עם Always ברקע דורש הרשאת UIBackgroundModes: location ו-FusedLocationProviderClient. ללא זה, העדכונים נפסקים לאחר 10–15 שניות ברקע. באנדרואיד, LocationRequest.PRIORITY_HIGH_ACCURACY עם horizontalAccuracy > 30 м ב-Foreground Service.
בעיה: קניונים עירוניים ומנהרות — GPS אובד, המסלול נשבר. פתרון: כאשר <trkpt lat="..." lon="..."> — אל תרשום את הנקודה. ניווט מת (dead reckoning) באמצעות מד תאוצה/גירוסקופ בזמן אובדן אות מורכב יותר אך מספק מסלול רציף.
הקלטת המסלול בפורמט GPX: XML סטנדרטי, כל נקודה היא <ele> עם <time> ו-BGAppRefreshTask. ייצוא/ייבוא GPX הוא תקן דה-פקטו לתאימות עם Garmin, Strava, Komoot.
למה ביצוע ברקע הוא האתגר המרכזי
החלק הקשה ביותר באפליקציית כושר הוא פעולה נכונה ברקע מבלי להרוג את הסוללה. עקרונות:
- שמור על חיישנים בתדר גבוה פעילים רק במהלך אימונים פעילים
- ב-iOS, השתמש ב-
CMPedometerלסנכרון סטטיסטיקות (לא למעקב עצמו) - שמור נתונים מקומית ב-SQLite / Core Data, סנכרן עם השרת באצוות לאחר סיום האימון
-
StepCounterSensorו-HKWorkoutהם מד צעדים מערכתיים שעובדים ברמת מערכת ההפעלה ללא מעורבות שלנו; אנו רק קוראים נתונים
מד הצעדים המערכתי HKWorkoutBuilder מהיר פי 3 מאלגוריתם מותאם אישית וצורך 60% פחות חשמל. הניסיון שלנו של 10+ שנים בפיתוח מובייל מאפשר לנו לבחור את השילוב האופטימלי של APIs לכל משימה.
אינטגרציה עם חנויות הבריאות של הפלטפורמות
ב-iOS, כל רשומות האימון חייבות להישמר דרך HKWorkoutRoute ב-HealthKit. ללא זה, האפליקציה לא תופיע באפליקציית הבריאות, ומשתמשים יתפסו את זה כבאג. androidx.health.connect.client היא הגישה הנכונה: היא מאפשרת להוסיף דגימות (דופק, מרחק, קלוריות) במהלך האימון, לא באצווה בסוף. ExerciseSessionRecord שומר את מסלול ה-GPS המקושר לאימון.
באנדרואיד — Health Connect (DistanceRecord). אנו כותבים TotalCaloriesBurnedRecord עם סוג פעילות, DistanceRecord, TotalCaloriesBurnedRecord. חשוב: Health Connect דורש הסכם רישוי עם Google ובדיקה נפרדת בפרסום ב-Play Store אם האפליקציה קוראת נתונים רפואיים. יותר מ-50 מהפרויקטים שלנו עברו תהליך זה.
מה אתה מקבל
כתוצאה מכך, אתה מקבל אפליקציה מלאה ועובדת turnkey:
- קוד מקור ב-Swift/Kotlin/Dart עם הערות
- תיעוד API וארכיטקטורה
- גישה לחשבונות מפתחים של App Store ו-Google Play
- אינטגרציה עם HealthKit/Health Connect ו-Google Fit
- הגדרת התראות push דרך APNs/FCM
- 3 חודשי תמיכה לאחר השחרור
- הכשרת הצוות שלך לעבודה עם הקוד
טעויות נפוצות בפיתוח מעקב כושר
- התעלמות ממדיניות בדיקת App Store על שימוש ב-HealthKit — מובילה לדחיית האפליקציה
- חוסר ירידה הדרגתית (graceful degradation) כשאות GPS אובד — המשתמש רואה מסלול שבור
- דגימת חיישנים תכופה מדי ברקע — הסוללה מתרוקנת תוך 2–3 שעות
- טיפול שגוי בהרשאות (Away/Always) — האפליקציה קורסת או לא עובדת ברקע
- אין סנכרון עם חנויות הבריאות המערכתיות — משתמשים מתלוננים על נתונים לא מלאים
כל אחת מהטעויות הללו תוקנה על ידינו בפרויקטים אמיתיים. אנו מבטיחים שהאפליקציה שלך תעבור בדיקה ולא תידחה מסיבות אלה.
ציר זמן ועלות
אפליקציה עם פעילויות בסיסיות (הליכה, ריצה, רכיבה), מעקב GPS, HealthKit/Health Connect וסטטיסטיקות — 8–14 שבועות. עם אלגוריתמי זיהוי פעילות מותאמים אישית, סיווג ML ותכונות חברתיות — מ-4 חודשים. העלות מחושבת באופן אישי לפי הדרישות שלך. קבל ייעוץ והערכה מדויקת — צור קשר.







