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

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

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

  • توفر واجهة برمجة تطبيقات "خدمات Google Play" طريقة أكثر وضوحًا للتعامل مع الموقع الجغرافي في FusedLocationProviderClient.

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

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

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

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

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

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

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

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

موفِّر الموقع الجغرافي للشبكة (NLP)

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

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

يجمع الموقع الجغرافي للشبكة المدمجة (FLP) على الأجهزة الجوّالة معلومات من أجهزة استشعار أخرى لتحسين جودة الموقع الجغرافي، بالإضافة إلى استخدام موفِّري الشبكة ونظام تحديد المواقع العالمي (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" />

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