الموقع الجغرافي التقريبي على نظام التشغيل Android Automotive

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

  • تتطلّب واجهة برمجة التطبيقات LocationManager استخدام requestLocationUpdates لتحديد مقدّم خدمة الموقع الجغرافي المفضّل بشكل صريح.

  • توفّر واجهة برمجة التطبيقات "خدمات Google Play" طريقة أسهل للتعامل مع الموقع الجغرافي في FusedLocationProviderClient.

تستخدم العديد من تطبيقات السيارات FLP من واجهة برمجة التطبيقات الخاصة بخدمات Google Play بدلاً من LocationManager. تختار خدمة "تحديد الموقع الجغرافي" من Google أفضل مقدّم خدمة لتحديد الموقع الجغرافي استنادًا إلى معايير وسياسات طلب الموقع الجغرافي (الطاقة والدقة) التي تحتاج إليها المركبة.

يمكنك بدلاً من ذلك اختيار طلب استخدام NETWORK_PROVIDER وGPS_PROVIDER بشكل صريح للحصول على مواقع جغرافية دقيقة، ما يتطلّب أذونات android.permission.ACCESS_FINE_LOCATION. في الإصدار 12 من نظام التشغيل Android (المستوى 31 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتوفّر FUSED_PROVIDER، الذي كان يمكن الوصول إليه سابقًا من خلال واجهة برمجة التطبيقات لخدمات Google Play فقط، كموفّر موقع جغرافي لـ LocationManager. يمكنك الاطّلاع على عملية تنفيذ FLP في FusedLocationProvider.java.

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

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

يحدّد NETWORK_PROVIDER المستخدَم على هواتف Android (التي تتضمّن "خدمات Google للأجهزة الجوّالة") الموقع الجغرافي استنادًا إلى أبراج الاتصالات ونقاط وصول Wi-Fi وإشارات البلوتوث القريبة. نتيجةً لذلك، قد يتطلّب استخدام NETWORK_PROVIDER الاتصال بشبكة بيانات.

بالنسبة إلى تطبيقات السيارات، تختلف قيود الأجهزة. بما أنّ نظام GNSS العالمي لتحديد المواقع الجغرافية يكون مفعّلاً عادةً، لن يتم فرض أي عقوبات بسبب زيادة استهلاك الطاقة والبطارية. نتيجةً لذلك، لا تتأثر مدة تشغيل IVI. نسعى إلى الحدّ من البيانات التي يتم تبادلها مع خوادمنا.

لذلك، تستخدم العديد من التطبيقات "موفِّر الموقع المدمج" من واجهة برمجة التطبيقات Play API بدلاً من LocationManager مباشرةً، لأنّ "موفِّر الموقع المدمج" ينفّذ الإجراء الذكي تلقائيًا من خلال استخدام موفِّر الموقع الجغرافي الأنسب لتلبية معايير/سياسات طلب الموقع الجغرافي (أي الطاقة والدقة).

على عكس الأجهزة الجوّالة، نادرًا ما تنتقل المركبات من مكان إلى آخر. يتم تحديد موضع المركبة في الخلفية في معظم الأوقات.

مقدّم خدمة تحديد الموقع الجغرافي للشبكة (NLP)

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

موفِّر الموقع المدمج

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

وبالتالي، في حالات نادرة جدًا، قد يستغرق توفّر الموضع الأول وقتًا أطول من المعتاد. على سبيل المثال، عند استخدام مركبة للمرة الأولى أو، بدقة أكبر، عند استخدام نظام تحديد الموقع الجغرافي الخاص بها أو بعد سحبها.

تصميم تطبيقات تستهدف الاستخدام على الأجهزة الجوّالة والسيارات

بالنسبة إلى التطبيقات التي تستهدف الأجهزة الجوّالة والأجهزة المخصّصة للسيارات التي لا تتطلّب دقة أعلى، اطلب android.permission.ACCESS_COARSE_LOCATION فقط واستخدِم FLP كخيار احتياطي عند توفّره. يمكنك بدلاً من ذلك استخدام GPS_PROVIDER مباشرةً مع الأذونات نفسها. يقلّل إطار العمل من دقة الموقع الجغرافي الأساسي لنظام GNSS للتوافق مع توقعات واجهة برمجة التطبيقات. لمزيد من المعلومات، اطّلِع على الدقة في طلب أذونات تحديد الموقع الجغرافي.

بالإضافة إلى ذلك، يجب أن تفصح هذه التطبيقات صراحةً عن ميزة android.hardware.location.network باعتبارها اختيارية في بيانها. مثلاً:

<uses-feature android:name="android.hardware.location.network" android:required="false" />

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