رصد المنطقة الزمنية للموقع الجغرافي

ميزة "رصد المنطقة الزمنية للموقع الجغرافي" متوفرة في Android 12 أو أعلى، هي ميزة اختيارية للكشف التلقائي عن المنطقة الزمنية تسمح الأجهزة لاستخدام بيانات خريطة الموقع الجغرافي والمنطقة الزمنية لتحديد المنطقة الزمنية.

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

تتألف ميزة اكتشاف المنطقة الزمنية للموقع الجغرافي من العناصر التالية في منصة AOSP:

  • منطق رصد المنطقة الزمنية في خادم النظام
  • خيار يمكن للمستخدم الوصول إليه في "الإعدادات" تم تقديمه في Android 12، لتمكين المستخدمين من الاختيار بين آليات رصد الاتصالات الهاتفية وتحديد المنطقة الزمنية للموقع الجغرافي

  • نظام إضافي للمكونات التي تقوم باكتشاف الموقع تعيين المنطقة الزمنية. يُسمى المكوِّن الإضافي موفر المنطقة الزمنية للموقع (LTZP)، ويمكن أن يتوفّر نوعان منهما على الجهاز. النظام الأساسي توفّر واجهات برمجة تطبيقات النظام التي يجب استخدامها لتطبيق قناة الدعم الطويل الأمد (LTZP).

  • تنفيذ LTZP مرجعي

  • أدوات المضيف لإنشاء مجموعة بيانات مرجعية من بيانات Open StreetMap التي يمكن استخدامها مع تنفيذ المرجع.

خصوصية المستخدم

تتضمّن ميزة رصد المنطقة الزمنية للموقع الجغرافي ميزات الخصوصية التالية للمستخدم:

  • عندما يكون هناك مفتاح تبديل لاختيار خوارزمية الموقع الجغرافي، يمكن للمستخدمين إيقاف الميزة لخوارزمية الموقع في أي وقت.

  • لا تتم مشاركة اقتراحات المنطقة الزمنية المستمدة من الموقع الجغرافي بين المستخدمين في الخاص بك.

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

  • لا يتم تمرير معلومات الموقع الجغرافي للجهاز إلى خدمات النظام الأساسي Android. وبدلاً من ذلك، سيحدث ما يلي:

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

سلوك الميزة

تحدِّد خدمة time_zone_detector وقت تغيير الحالة الحالية للجهاز. المنطقة الزمنية استنادًا إلى الاقتراحات التي تتلقّاها من خوارزميات الرصد.

تكون خدمة location_time_zone_manager مسؤولة عن إنشاء اقتراحات لخوارزمية الموقع الجغرافي time_zone_detector. تشير رسالة الأشكال البيانية يتم تشغيل خدمة location_time_zone_manager في عملية خادم النظام.

لا تتضمّن خدمة location_time_zone_manager أي ميزة رصد المنطقة الزمنية. المنطق. وهو المسئول عن إدارة دورة حياة مكون أو اثنين من المكونات الإضافية يسمى مزوّدو المنطقة الزمنية للموقع الجغرافي (LTZPs)

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

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

أيضًا، تقدم خدمة location_time_zone_manager اقتراحًا غير مؤكد (إذا هناك حاجة إلى واحد) عندما يتغير المستخدم الحالي لتجنب مشاركة الموقع المعلومات بين المستخدمين.

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

إنّ عملية رصد المنطقة الزمنية الخاصة بالموقع الجغرافي باستخدام بروتوكول AOSP تتيح ما يصل إلى اثنين من LTZP، قناة الدعم الطويل الأمد (LTZP) الأساسية والثانوية كما هو موضّح هنا:

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

كما هو موضّح في الشكل 1، تتلقّى خدمات time_zone_detector منطقة زمنية اقتراحات من خوارزمية الاتصال الهاتفي أو الموقع. خوارزمية الموقع الجغرافي يتلقّى اقتراحات من قناة الدعم الطويل الأمد (LTZP) الأساسية أو الثانوية.

تدفق معلومات رصد المنطقة الزمنية للموقع الجغرافي

الشكل 1. تدفق معلومات رصد المنطقة الزمنية للموقع الجغرافي

متطلبات إعدادات الجهاز

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

إعداد الجهاز

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

إعدادات AOSP الأساسية هي frameworks/base/core/res/res/values/config.xml:

مفتاح الإعداد قيمة AOSP الوصف
config_enableGeolocationTimeZoneDetection true هذا هو عنصر التحكّم الرئيسي في ميزة "رصد المنطقة الزمنية للموقع الجغرافي".

تتوفّر هذه الميزة تلقائيًا في بروتوكول AOSP. يجب أن يكون رمز LTZP واحدًا على الأقل تمكين أو تهيئة الميزة لتوفير الميزة للمستخدمين.

يؤدي ضبط القيمة على "خطأ" إلى إيقاف الميزة بالكامل في ذاكرة صغيرة. حفظ.
config_enablePrimaryLocationTimeZoneProvider false يؤدي ذلك إلى تفعيل قناة الدعم الطويل الأمد (LTZP) الأساسية.
config_primaryLocationTimeZoneProviderPackageName اضبط هذا الإعداد على اسم حزمة التطبيق الذي تستخدمه خدمة الموفّر الأساسي. التي يمكن العثور عليها.
config_enableSecondaryLocationTimeZoneProvider false يؤدي ذلك إلى تفعيل قناة الدعم الطويل الأمد (LTZP) الثانوية.
config_secondaryLocationTimeZoneProviderPackageName عليك ضبط هذا الإعداد على اسم حزمة التطبيق حيث يوفّر الموفّر الثانوي خدمة الموقع الإلكتروني.

بشكل افتراضي، تتضمن تهيئة AOSP ما يلي: تم ضبط مفتاح config_enableGeolocationTimeZoneDetection على true، جارٍ تفعيل الدعم. لميزة اكتشاف المنطقة الزمنية للموقع الجغرافي. العنصر غير مرئي لـ المستخدمين في البداية لأنّ AOSP لا يشتمل تلقائيًا على إعدادات LTZP. ومع ذلك، باستخدام هذا التكوين الافتراضي، يمكن للشركات المصنعة للأجهزة محاكاة LTZP من سطر الأوامر لاختبارها. (لمزيد من المعلومات، راجع تصحيح الأخطاء والاختبار).

واجهات برمجة التطبيقات لحالة LTZP

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

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

لمزيد من المعلومات حول الحالات التي يمكن أن يبلِّغ عنها LTZP، يُرجى الاطّلاع على TimeZoneProviderStatus

إعداد قناة الدعم الطويل الأمد (LTZP) ونشرها

عند ضبط قناة LTZP، يُرجى قراءة التعليمات في رمز المصدر frameworks/base/core/java/android/service/timezone/TimeZoneProviderService.java توفر تعليقات Javadoc تفاصيل عن الخدمة والأذونات المطلوبة غير ذلك من الإعدادات.

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

على الأجهزة المزوّدة مكوّنات النظام المعيارية (وحدات)، ضع في الاعتبار التفاعل بين البيانات الجغرافية التي يستخدمها LTZP بقواعد المنطقة الزمنية (tzdb) المنفذة في وحدة بيانات المنطقة الزمنية (com.android.tzdata). من المرجّح إجراء تعديلات على أحدهما بدون إجراء تعديلات على الآخر للتسبب في مشكلات انحراف الإصدار. لمزيد من المعلومات، يُرجى مراجعة اعتبارات استخدام الميزات:

مرجع AOSP بتنسيق LTZP

يحتوي AOSP على تنفيذ LTZP مرجعي بموجب packages/modules/GeoTZ يستخدم تنفيذ المرجع هذا واجهات برمجة تطبيقات AOSP لتحديد موقع الجهاز. وتستخدم ملف بيانات على الجهاز فقط لتعيين الموقع إلى مجموعة من معرّفات المنطقة الزمنية.

حيث يتم تضمين مجموعة بيانات مرجعية مستمدة من مشاريع أخرى مفتوحة المصدر مع رمز المصدر. لمزيد من التفاصيل، يُرجى مراجعة README.md وملفات LICENSE المختلفة.

تصحيح الأخطاء والاختبار

يصف القسم التالي أوامر واجهة الأوامر لتصحيح الأخطاء واختبار ميزة رصد المنطقة الزمنية للموقع الجغرافي

التفاعل مع خدمة location_time_zone_manager

عندما تكون خوارزمية الموقع الجغرافي متوافقة مع جهاز يعمل الإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث ينشئ Android مثيلاً لخدمة location_time_zone_manager في وقت التشغيل.

لتفريغ الحالة الحالية لـ location_time_zone_manager، استخدِم:

adb shell cmd location_time_zone_manager dump

للاطّلاع على مجموعة شاملة من خيارات سطر الأوامر للمساعدة في الاختبار، استخدِم:

adb shell cmd location_time_zone_manager help

تصف نتائج المساعدة أيضًا خصائص خدمة device_config التي يمكنها يمكن استخدامها للتأثير في سلوك time_zone_detector للاختبار أو في والإنتاج. لمزيد من المعلومات، يُرجى مراجعة ضبط جهاز باستخدام خدمة device_config.

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

adb shell dumpsys activity service android/com.android.timezone.location.provider.OfflineLocationTimeZoneProviderService