الحصول على الموقع الجغرافي التقريبي

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

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

  • توفّر واجهة Google Play Services API طريقة أكثر وضوحًا العمل مع الموقع في FusedLocationProviderClient

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

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

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

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

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

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

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

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

مزوّد موقع الشبكة (NLP)

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

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

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

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