إضافة تتبع الموقع الميداني المتقدمة لـ Flutter
مؤلف الإضافة ومهندس المحمول الرئيسي
المشكلة التقنية والحل
سياق العمل الهندسي والنتائج التقنية لهذا المشروع بالتفصيل.
تتوقف تطبيقات المناديب والتوصيل عن العمل بسبب مدراء البطارية الصارمين، بينما يؤدي اهتزاز GPS وتطبيقات الموقع الوهمي إلى مطالبات تعويض احتيالية.
بناء محرك تتبع صامد ينجو من إيقاف الذاكرة وإعادة تشغيل الجهاز دون تراكم مسافات وهمية أو ثغرات أمنية.
تطوير Foreground Service بلغة Kotlin مع استئناف تلقائي، وفلتر كالمان على الجهاز، وتخزين يومي في Room DB مع ترحيل منتصف الليل، وتنبيهات أمان فورية.
صمود كامل ضد إعادة التشغيل، منع الانحراف الوهمي، حظر قاطع لتطبيقات التزييف في إصدارات الإنتاج، ونجاح 100% في 39 اختباراً مؤتمتاً.
مخطط تدفق نظام تتبع الموقع الأصلي بلغة Kotlin
مرر المؤشر فوق أي عنصر في المخطط أدناه للاطلاع على التفاصيل التقنية والمسؤوليات البرمجية.
Flutter UI
MethodChannel
Foreground Service
Mock & GPS Guard
Kalman Filter
Room Database
EventChannel
Flutter UI
Renders live trip progress, movement state, and security alerts.
MethodChannel
Sends config parameters and invokes commands via typed runner.
Foreground Service
Persists active shifts across OS kills and device reboots (START_STICKY).
Mock & GPS Guard
Blocks fake GPS apps in Release builds and detects mid-shift provider shutdowns.
Kalman Filter
Eliminates stationary coordinate jitter and indoor drift on-device.
Room Database
Stores daily odometer history with automatic midnight rollover & 7-day prune.
EventChannel
Streams live coordinates, movement states, and typed security alerts to Flutter.
مرر المؤشر فوق أي مكون في النظام لعرض تفاصيل التنفيذ الهندسي.
أبرز التحديات الهندسية التي تم حلها
تحليل مفصل للمشكلات المعقدة على مستوى البنية التحتية والأنظمة منخفضة المستوى التي تم حلها بنجاح.
التحدي الهندسي
صياغة المشكلة وسياق المتطلبات
Background tracking on Android must withstand aggressive OEM battery managers (Samsung OneUI, Xiaomi HyperOS), Doze deep idle mode, and mid-shift permission revocations.
البحث والقرارات المعمارية
Typed Platform Channels
Centralized _invoke<T>() runner mapping native platform errors to strongly-typed Dart exceptions.
Typed Platform Channels
Centralized _invoke<T>() runner mapping native platform errors to strongly-typed Dart exceptions.
Robolectric JVM Test Harness
Full SQLite in-memory test harness executing 24 native Android assertions in under 4 seconds.
Robolectric JVM Test Harness
Full SQLite in-memory test harness executing 24 native Android assertions in under 4 seconds.
الميزات والتنفيذ
التقنيات المستخدمة
مخطط واجهات وتدفق النظام
مخطط مرئي يوضح نقاط التحقق الرئيسية في الواجهة وخطوط نقل البيانات والقياسات للتطبيق.



