Skip to main content

تسجيل المسار

نظرة عامة

تغطي هذه المقالة مشاكل تسجيل مسار GPX التي لوحظت لفترة طويلة في إصدارات مختلفة من أندرويد و iOS. بـ "الخلفية"، نعني أن تطبيق OsmAnd لا يظهر في المقدمة، خاصة عندما تكون شاشة الجهاز مغلقة (وهو ما يختلف عن تعريف الخلفية الداخلي في الأجهزة).

ملاحظات:

  • اعتبارًا من أندرويد 11 (2020/12)، لم يعد هناك خيار إذن النظام السماح دائمًا بالوصول إلى الموقع لاستخدامه في الخلفية، ولكن هذا لا يحد من تسجيل مسارات OsmAnd في الخلفية. وفقًا لوثائق Google، يعتبر هذا الآن استخدامًا في المقدمة لأن إذن استخدام الخدمة في المقدمة يُستخدم داخليًا ويكون إشعار النظام بتسجيل المسار مرئيًا دائمًا.

  • لاحظ أن الصياغة الجديدة في أندرويد قد تكون مضللة:

    • السماح أثناء استخدام التطبيق يعني أن التطبيق يمكنه استقبال بيانات الموقع باستمرار طالما أنه معروض على الشاشة أو لديه إشعار مرئي في شريط إشعارات أندرويد، كما هو الحال مع OsmAnd أثناء الملاحة أو تسجيل الرحلة. (تقنيًا، يسمى هذا وضع المقدمة).

    • السماح طوال الوقت، من ناحية أخرى، يعني أن التطبيق يمكنه من حيث المبدأ الحصول على موقعك "دون أن يلاحظ أحد" دون تطبيق أي من هذين الشرطين. لكن أندرويد يحد من تكرار الوصول إلى الموقع في هذا الوضع (الخلفية) إلى ما يقرب من مرة واحدة في الساعة، وهو بالتأكيد ليس الوضع الصحيح لتطبيق ملاحة.

المسارات المسجلة مشوشة

هناك مشكلتان نموذجيتان في الدقة تؤديان إلى مسار مسجل مشوش.

  • الوقوف لفترة أطول في نفس المكان، أو تسجيل النقاط بشكل متكرر جدًا (التعرج المقابل يبالغ في القيم الحقيقية)
  • إشارة GPS ضعيفة أو التحول إلى تحديد الموقع بناءً على إشارة الشبكة.

إجراءات التخفيف:

  • أوقف تسجيلاتك مؤقتًا أثناء الوقوف، أو استخدم مرشح الحد الأدنى للإزاحة في ملحق تسجيل الرحلة.

  • حدد التباعد الزمني أو الإزاحي للنقاط المسجلة بما يتناسب مع التقاط انحناءات رحلتك، ولكن دون إنشاء الكثير من النقاط الإضافية (التي سيؤدي انتشارها إلى إحداث تشويش والمبالغة في تقلبات المسافة والارتفاع).

  • من الممكن أيضًا تعديل المسار لاحقًا وإزالة النقاط "المشوشة".

  • أو يمكنك استخدام إعدادات ملحق تسجيل الرحلة لتصفية النقاط "المشوشة" بالفعل أثناء التسجيل، بناءً على خبرتك وجهاز التسجيل. يمكنك تصفية النقاط بمعايير مختلفة:

    • النقاط ذات السرعة المنخفضة أو الصفرية.
    • النقاط ذات الدقة السيئة (GPS 'hdop').
    • النقاط الأقرب من عتبة محددة بالأمتار.
  • واجهة برمجة تطبيقات خدمات Google أو واجهة برمجة تطبيقات أندرويد. يمكنك أيضًا تغيير كيفية تلقي OsmAnd لبيانات الموقع على أجهزة أندرويد. في إعدادات OsmAnd ← مصدر الموقع اختر بين خدمات Google Play وواجهة برمجة تطبيقات أندرويد، في كثير من الحالات يساعد التغيير إلى واجهة برمجة تطبيقات أندرويد على تحسين المسارات المسجلة وجعلها أقل تشويشًا.

المسارات المسجلة بها فجوات

تهيئة OsmAnd لتسجيل المسار

تحسين أندرويد لتسجيل المسار

بدءًا من أندرويد 4.4، يمكن لميزات توفير الطاقة أن تحد من استخدام وحدة المعالجة المركزية (CPU)، وتقلل من سطوع الشاشة، وتوقف تطبيقات الخلفية عند إيقاف تشغيل الشاشة. يمكن أن يؤثر هذا على أداء OsmAnd للاستخدام في الهواء الطلق، وعرض الخرائط، وتسجيل المسارات. أضافت الإصدارات الأحدث من أندرويد سلوكيات توفير طاقة قائمة على الذكاء الاصطناعي مثل البطارية التلقائية وتوفير الطاقة التلقائي، مما يقدم سلوكًا ديناميكيًا وأقل قابلية للتنبؤ. لتجنب مشاكل التسجيل، على الأقل في البداية أو لتصحيح الأخطاء، فكر في تعطيل ميزات توفير الطاقة تمامًا. يفيد المستخدمون أن التأثير على عمر البطارية لمعظم الأجهزة مقبول.

  • استثناء OsmAnd من تحسين البطارية. في إعدادات جهاز أندرويد الخاص بك، ابحث عن OsmAnd تحت التطبيقات، Applications، أو مدير التطبيقات. حدد موقع قسم البطارية، توفير الطاقة أو استهلاك الطاقة، واستثنِ OsmAnd من تحسين البطارية. (المسألة #5255)

  • عطّل وضع توفير الطاقة. هذا الوضع لديه فرصة كبيرة للتأثير على/إيقاف حتى الخدمات الأمامية، مثل تسجيل رحلة OsmAnd.

  • عطّل توفير الطاقة التكيفي. سيؤدي تشغيل هذا الخيار إلى تطبيق سياسات على مستوى النظام تعتمد على نمط الاستخدام لإلغاء تنشيط/تنشيط وضع "توفير الطاقة" المذكور أعلاه.

  • عطّل البطارية التكيفية ما لم تستخدم تطبيق OsmAnd بانتظام. تعمل البطارية التكيفية على أساس كل تطبيق على حدة، وتعتمد أيضًا على نمط الاستخدام. يمكن تقليل تأثيرها على تطبيق معين عن طريق استثناء هذا التطبيق من تحسين البطارية (مثل ضبطه على غير محسن). ومع ذلك، لا يزال بإمكان البطارية التكيفية إيقاف الخدمات الأمامية مثل تسجيل رحلة OsmAnd، إذا اعتبر الجهاز أن OsmAnd ضمن مجموعة التطبيقات "نادرة الاستخدام" الخاصة بك.

إعدادات الطاقة المختبرة لأندرويد 9 و 10 و 11 (Hardy, 2020-08-25)

تم اختبار إعدادات الطاقة التالية بنجاح على أندرويد 9 و 10 ولاحقًا 11 (على أجهزة Samsung) لجعل OsmAnd يسجل المسارات دون فجوات. يرجى مراجعة هذه الإعدادات العشرة وضبطها وفقًا لذلك:

  • (1) توفير الطاقة (وضع) = OFF (أو محسن في أندرويد 10)
  • (2) توفير الطاقة التكيفي = OFF (عند التشغيل، قد يتم تنشيط وضع توفير الطاقة أحيانًا، مما يمنع OsmAnd من التسجيل.)
  • (3) البطارية التكيفية = ON (لا يؤثر على التطبيقات المستثناة من تحسين البطارية على أي حال، انظر (9) أدناه، ما لم يتم استخدام التطبيق نادرًا. للأمان، اضبطه على OFF.)
  • (4) وضع التطبيقات غير المستخدمة في وضع السكون = ON (لكن OsmAnd مستثنى من تحسين البطارية، انظر (9) أدناه!)
  • (5) التعطيل التلقائي للتطبيقات غير المستخدمة = OFF (يبدو أنه موجود فقط في أندرويد 9.)
  • (6) تحسين الإعدادات = OFF (في أندرويد 10 تحت Device care / Advanced، في أندرويد 11 يبدو أنه اختفى.)
  • (7) التحسين التلقائي (يومي) = ON (لا يؤثر هنا.)
  • (8) إعادة التشغيل التلقائي (في أوقات محددة) = OFF (لا يؤثر هنا.)
  • (9) تحسين استخدام البطارية (تحت إعدادات أندرويد / التطبيقات / OsmAnd / البطارية أو إعدادات / التطبيقات / 3 نقاط / الوصول الخاص / تحسين استخدام البطارية / الكل / OsmAnd) = استثنِ OsmAnd من تحسين البطارية (مُنصح جدًا، على الرغم من عدم الضرورة إذا تم بدء التطبيق من قبل المستخدم بشكل متكرر).
  • (10) السماح بالنشاط في الخلفية = ON لـ OsmAnd تحت التطبيقات / OsmAnd / البطارية لأندرويد 11

بعض هذه الإعدادات تتفاعل مع بعضها البعض، لذا كن دقيقًا. أفضل بحث عن الإعدادات أعلاه بالاسم (مع ودون العبارات بين قوسين). اعتمادًا على إصدار أندرويد الخاص بك، قد تكون مبعثرة عبر هذه الشاشات المختلفة لإعدادات أندرويد:

  • Device care
  • Device care / 3 نقاط / Automation
  • Device care / Advanced
  • Device care / Battery
  • Device care / Battery / Settings
  • Device care / Battery / App Power Management
  • Device care / Battery / More battery settings

التحكم في سلوك تطبيقات الخلفية في iOS

يمكن لنظام iOS تعليق أو إيقاف تطبيقات الخلفية تلقائيًا عند إعادة تخصيص موارد النظام. لا يمكن لـ OsmAnd تجاوز هذا السلوك. إذا توقف تسجيل المسار عند قفل الجهاز، فقد يترك هذا فجوات في التسجيل. يمكنك تعديل هذه الفجوات باستخدام أداة تخطيط مسار.

لمزيد من التفاصيل حول كيفية تعامل iOS مع تتبع الموقع، راجع وثائق Apple هنا.

كيفية تتبع المسافة المقطوعة

لا يحتوي OsmAnd على أداة عرض خاصة مشابهة لعداد المسافة، يمكنك استخدام ملحق تسجيل الرحلة لتتبع المسافة المقطوعة وإعادة تعيينها عند الحاجة.

OsmAnd 3.9: مشاكل الارتفاع عند استخدام خدمات Google Play

غيرت Google Play سياستها، وللامتثال، يُطلب من OsmAnd، اعتبارًا من الإصدار 3.9 (باستثناء الإصدارات الليلية، وF-Droid، وبنيات Huawei) استخدام خدمات Google Play للحصول على تحديدات الموقع أثناء التشغيل في الخلفية (أي، في مصطلحات أندرويد، كخدمة أمامية مع إشعار نظام مرئي).

بعد هذا التغيير، يبدو أن هناك مشكلة في تسجيل الارتفاع: يبدو أن خدمات Google Play تقوم باستيفاء قياس الارتفاع بشكل عدواني جدًا، انظر مسألة GitHub #10864. تؤثر هذه المشكلة على أندرويد 10، ربما لا على أندرويد 11. تم الإبلاغ عن المشكلة بالفعل على موقع Google، وسيتم إصلاحها ربما في 09-03-2021.

كحل مؤقت، في إعدادات OsmAnd → مصدر الموقع يمكنك تبديل مصدر الموقع من خدمات Google Play إلى واجهة برمجة تطبيقات أندرويد.

OsmAnd 3.9: إيقاظ GPS الآن مستبدل بخدمة أمامية مستمرة (2020/12)

اعتبارًا من الإصدار 3.9، عند الحاجة إلى تسجيل مسار أو ملاحة، يدعم OsmAnd مستمرًا GPX عبر خدمة الخلفية في أندرويد، وهذا مرئي كإشعار نظام أندرويد.

تم إزالة الاستراتيجية السابقة لاستخدام وضع السبات وإيقاظ GPS دوريًا من كودنا (التزام Drop waking navigation service on alarm)، كما هو مطلوب بقيود Google Play الجديدة على الوصول إلى الموقع في الخلفية. نتيجة لذلك، تنطبق الأقسام التالية (أ) و(ب) فقط على إصدارات OsmAnd قبل 3.9:

(أ) استراتيجية إيقاظ GPS

  • (أ1) أثناء استخدام OsmAnd، مثل الملاحة. نحن نحافظ على وحدة GPS في النظام مفعلة طوال الوقت، حيث إن المعلومات المستمرة عن الموقع أمر أساسي هنا. التأثير على استخدام البطارية (بناءً على الترتيب التقريبي) يبدو حوالي 5% في الساعة على الأنظمة القديمة حتى أندرويد 4.4، و2-3% للأنظمة الأحدث.
  • (أ2) لتسجيل مسار في الخلفية بدون ملاحة متزامنة. للتسجيل بفواصل تصل إلى 15 ثانية، نحن نحافظ أيضًا على GPS مفعلًا، الاستراتيجيات الأخرى لن توفر الكثير من طاقة البطارية.
  • (أ3) للفواصل >=30 ثانية، نفعل GPS فقط لكل نقطة أخذ عينة. لهذا تأثير ملحوظ على دقة النقاط المسجلة لكنه يقلل من استخدام البطارية إلى ترتيب تقريبي 1.2% في الساعة لتسجيل مسار كل 30 ثانية.

(ب) مشاكل إيقاظ GPS

لتحقيق إيقاظ GPS، حتى الآن نستخدم مدير الإنذارات في أندرويد لإيقاظ الجهاز دوريًا (أيضًا من وضع Doze، الذي تم تقديمه في أندرويد 6). أدخلت إصدارات أندرويد الجديدة المشاكل التالية:

  • (ب1) أصبح setRepeating() في Alarm Manager غير دقيق بدءًا من أندرويد 4.4:
    التخفيف: الآن نستخدم setRepeating() فقط حتى أندرويد 4.2، الطريقة الجديدة setExact() بدءًا من أندرويد 4.4، وsetExactAndAllowWhileIdle() لأندرويد 8+. (مسألة #5632)
  • (ب2) بدءًا من أندرويد 4.4، تحد الأنظمة من عدد المرات التي يتم تنفيذ setExact() فيها بشكل متكرر إلى مثل مرة واحدة كل 5 أو حتى 15 دقيقة. (يبدو أن القيمة الفعلية خاصة بالجهاز بشكل كبير.)
    لم نجد حلاً جيدًا حتى الآن. التخفيف الحالي هو عدم استخدام إيقاظ مدير الإنذارات، بدلاً من ذلك نحافظ على GPS مفعلًا دائمًا لتسجيل المسار في الخلفية على الأجهزة بأندرويد 5+ لجميع فواصل التسجيل الأقصر من 5 دقائق. هذا ينتج مسارات موثوقة ودقيقة على حساب استخدام أعلى لطاقة البطارية. (مسألة #5632)