जगह के समय क्षेत्र की पहचान करने की सुविधा

जगह के टाइम ज़ोन का पता लगाने की सुविधा, Android 12 पर उपलब्ध है या उससे ऊपर के लेवल के लिए, समय क्षेत्र का अपने-आप पता लगाया जाता है. इसका इस्तेमाल करना ज़रूरी नहीं है. समय क्षेत्र तय करने के लिए अपने स्थान और समय क्षेत्र मैप डेटा का उपयोग करें.

जगह के समय क्षेत्र की पहचान करना, टेलीफ़ोनी टाइम ज़ोन का एक वैकल्पिक तरीका है पहचान करना. क्योंकि इस इस सुविधा के लिए टेलीफ़ोनी की ज़रूरत नहीं है, इस सुविधा को इसमें मोबाइल टेलीफ़ोनी डिवाइसों के अलावा, अन्य डिवाइसों के नाप या आकार भी शामिल हैं.

जगह के समय क्षेत्र का पता लगाने की सुविधा में ये कॉम्पोनेंट शामिल होते हैं AOSP प्लैटफ़ॉर्म:

  • सिस्टम सर्वर में टाइम ज़ोन की पहचान करने वाला लॉजिक.
  • सेटिंग में एक ऐसा विकल्प जिसे उपयोगकर्ता आसानी से ऐक्सेस कर सकते हैं. इसे Android 12.के लिए, उपयोगकर्ताओं को इनमें से किसी एक टेलीफ़ोनी और जगह के समय क्षेत्र का पता लगाने के तरीके.

  • उन कॉम्पोनेंट के लिए प्लग-इन सिस्टम जो जगह की जानकारी का पता लगाते हैं और टाइम ज़ोन मैपिंग. प्लग-इन को लोकेशन टाइम ज़ोन प्रोवाइडर कहा जाता है (LTZP) और एक डिवाइस पर ऐसे दो वीडियो तक हो सकते हैं. प्लैटफ़ॉर्म ऐसे सिस्टम एपीआई उपलब्ध कराता है जिनका इस्तेमाल LTZP को लागू करने के लिए किया जाना चाहिए.

  • एलटीज़ेडपी को लागू करने का रेफ़रंस.

  • रेफ़रंस डेटा सेट जनरेट करने के लिए होस्ट टूल OpenStreetMap का डेटा जिसका इस्तेमाल रेफ़रंस को लागू करने के लिए किया जा सकता है.

उपयोगकर्ता की निजता

जगह के समय क्षेत्र का पता लगाने की सुविधा में, उपयोगकर्ता की निजता से जुड़ी ये सुविधाएं शामिल हैं:

  • जब जगह की जानकारी का एल्गोरिदम चुनने के लिए टॉगल किया जाता है, तो लोग इसे बंद कर सकते हैं भी देखी जा सकती है.

  • स्थान के ज़रिए मिले समय क्षेत्र के सुझाव डिवाइस.

  • टाइम ज़ोन का पता लगाने के लिए, उपयोगकर्ता जगह की जानकारी को कंट्रोल कर सकते हैं तारीख और समय की सेटिंग स्क्रीन पर दिखेगा. उपयोगकर्ताओं के पास ये नहीं हैं का इस्तेमाल करें.

  • डिवाइस की जगह की जानकारी, Android प्लैटफ़ॉर्म की सेवाओं को पास नहीं की जाती. इसके बजाय, ये कार्रवाइयां होंगी:

    • टाइम ज़ोन डिटेक्टर की सेवाओं को सिर्फ़ टाइम ज़ोन आईडी भेजे जाते हैं 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 के लागू होने के तरीके पर भी निर्भर करता है इस्तेमाल किया जा रहा है.

एओएसपी जगह के समय क्षेत्र का पता लगाने की सुविधा को लागू करने पर, ज़्यादा से ज़्यादा दो एलटीज़ेडपी का इस्तेमाल किया जा सकता है. प्राइमरी और सेकंडरी LTZP की जानकारी यहां दी गई है:

प्राइमरी LTZP
हर समय चलता है, जब उपयोगकर्ता ने जगह के समय क्षेत्र का पता लगाने की अनुमति दी होती है सुविधा को देती हैं.
सेकंडरी LTZP
जब प्राइमरी LTZP यह रिपोर्ट करता है कि टाइम ज़ोन अनिश्चित है, तो रिपोर्ट हमेशा के लिए गड़बड़ी हो सकती है या शुरू करने के दौरान समय खत्म हो सकता है. बंद हो जाता है अगर प्राथमिक LTZP एक खास सुझाव सबमिट करता है.

जैसा कि इमेज 1 में दिखाया गया है, time_zone_detector सेवाओं को टाइम ज़ोन मिलता है फ़ोन या जगह की जानकारी के एल्गोरिदम से मिलने वाले सुझाव भी दिखाए जा सकते हैं. जगह की जानकारी का एल्गोरिदम को प्राइमरी या सेकंडरी LTZP से सुझाव मिलते हैं.

जगह के टाइम ज़ोन का पता लगाने की सुविधा की जानकारी का फ़्लो

पहला डायग्राम. जगह के टाइम ज़ोन का पता लगाने की सुविधा की जानकारी का फ़्लो.

डिवाइस कॉन्फ़िगरेशन की ज़रूरी शर्तें

जगह की जानकारी के टाइम ज़ोन की सुविधा काम कर सके, इसके लिए डिवाइसों को LTZP के साथ कॉन्फ़िगर करना ज़रूरी है इस्तेमाल किया जा सकता है. डिवाइस में कम से कम एक LTZP चालू होना ज़रूरी है और जगह के समय क्षेत्र का पता लगाने की सुविधा के लिए कॉन्फ़िगर किया गया है, ताकि यह फ़ंक्शन काम करे और इन्हें दिखे उपयोगकर्ताओं को फ़िल्टर करें.

डिवाइस कॉन्फ़िगरेशन

इस सेक्शन में बताया गया है कि डिवाइस बनाने वाली कंपनियां, ओएस का इस्तेमाल करने के लिए डिवाइसों को कैसे कॉन्फ़िगर कर सकती हैं जगह के टाइम ज़ोन का पता लगाने की सुविधा.

बेस एओएसपी कॉन्फ़िगरेशन इस पर है frameworks/base/core/res/res/values/config.xml:

कॉन्फ़िगरेशन कुंजी एओएसपी वैल्यू ब्यौरा
config_enableGeolocationTimeZoneDetection true जगह की जानकारी के टाइम ज़ोन का पता लगाने की सुविधा के लिए, यह मुख्य कंट्रोल है.

यह सुविधा एओएसपी में डिफ़ॉल्ट रूप से काम करती है. कम से कम एक LTZP होना चाहिए को चालू या कॉन्फ़िगर किया गया हो, ताकि यह सुविधा लोगों को उपलब्ध कराई जा सके.

वैल्यू को 'गलत है' पर सेट करने से, यह सुविधा छोटी मेमोरी के लिए पूरी तरह से बंद हो जाती है सेव किया जा रहा है.
config_enablePrimaryLocationTimeZoneProvider false इससे प्राइमरी LTZP चालू होती है.
config_primaryLocationTimeZoneProviderPackageName इसे उस ऐप्लिकेशन के पैकेज के नाम पर सेट करें जहां मुख्य सेवा देने वाली कंपनी की सेवा मौजूद है देखा जा सकता है.
config_enableSecondaryLocationTimeZoneProvider false इससे सेकंडरी LTZP चालू होती है.
config_secondaryLocationTimeZoneProviderPackageName इसे उस ऐप्लिकेशन के पैकेज के नाम पर सेट करें जहां दूसरी कंपनी सेवा मिल सकती है.

डिफ़ॉल्ट रूप से, एओएसपी कॉन्फ़िगरेशन में config_enableGeolocationTimeZoneDetection बटन को true पर सेट किया गया. इससे सहायता पाने की सुविधा चालू हो गई है इस्तेमाल करें. यह सुविधा इन लोगों को नहीं दिख रही है उपयोगकर्ताओं पर लागू होती है, क्योंकि AOSP में डिफ़ॉल्ट रूप से LTZP कॉन्फ़िगरेशन शामिल नहीं होता. हालांकि, इस डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल करके, डिवाइस मैन्युफ़ैक्चरर यह सुविधा चालू कर सकते हैं और जांच के लिए, कमांड लाइन से LTZP को सिम्युलेट करें. (ज़्यादा जानकारी के लिए, डीबग और जांच करना.)

LTZP स्टेटस एपीआई

Android 14 में, LTZP के एपीआई, LTZP के साथ काम करते हैं रिपोर्टिंग स्थिति की जानकारी. इससे LTZP, रिपोर्ट कर पाएगा ऐसी समस्याएं जिनका पता शायद प्लैटफ़ॉर्म खुद न लगा पाए. टाइम ज़ोन का पता लगाने वाले कॉम्पोनेंट, जगह या समय पर सीधे तौर पर असर नहीं डालते जगह की जानकारी के एल्गोरिदम में ज़ोन का पता लगाने की सुविधा.

यह बताने की क्षमता कि डिवाइस पर्यावरण तब फ़ायदेमंद होता है, जब टेलीफ़ोनी फ़ॉलबैक मोड समर्थित है. उदाहरण के लिए, अगर तीसरे पक्ष की कोई LTZP, कस्टम सेटिंग का इस्तेमाल करती है इसकी जगह का पता लगाने की सुविधा काम करने के लिए, डाउनग्रेड किए गए मोड में काम कर रही है या मौजूदा डिवाइस सेटिंग की वजह से बंद किया हुआ हो, तो यह इस स्थिति की रिपोर्ट ऐप्लिकेशन के ज़रिए सेटिंग ऐप्लिकेशन जैसे इंटरनल प्लैटफ़ॉर्म कॉम्पोनेंट को दी जाने वाली जानकारी reportSuggestion तरीका. इसके बाद, सेटिंग ऐप्लिकेशन कस्टमाइज़ की जा सकने वाली स्ट्रिंग के ज़रिए उपयोगकर्ताओं को सूचित कर सकता है या ऐसी सेटिंग जो जगह के लिए बदली जानी चाहिए एल्गोरिदम को अच्छी तरह से या किसी भी तरह से काम करने के लिए डिज़ाइन किया गया है.

LTZP की ओर से रिपोर्ट किए जा सकने वाले स्टेटस के बारे में ज़्यादा जानने के लिए, यहां देखें TimeZoneProviderStatus.

LTZP कॉन्फ़िगरेशन और डिप्लॉयमेंट

LTZP को कॉन्फ़िगर करते समय, सोर्स कोड में दिए गए निर्देशों को पढ़ें frameworks/base/core/java/android/service/timezone/TimeZoneProviderService.java. Javaडॉक पर की गई टिप्पणियों में सेवा, ज़रूरी अनुमतियों और अन्य कॉन्फ़िगरेशन.

LTZP को कॉन्फ़िगर करने के लिए, डिवाइस बनाने वाली कंपनियों को LTZP की सेवा को होस्ट करने के लिए ऐप्लिकेशन की प्रोसेस. एलटीज़ेडपी के लिए खास तौर पर एक प्रोसेस बनाना बहुत ज़्यादा ओवरहेड है; आम तौर पर, ऐप्लिकेशन की चुनी गई प्रोसेस को ट्रैक किया जा सकता है.

इन डिवाइस पर मॉड्युलर सिस्टम कॉम्पोनेंट (मॉड्यूल), LTZP और LTZP की ओर से इस्तेमाल किए गए भौगोलिक डेटा के बीच इंटरैक्शन पर ध्यान देंगे समय क्षेत्र के नियम (tzdb) टाइम ज़ोन डेटा मॉड्यूल (com.android.tzdata). अगर किसी एक को अपडेट नहीं किया जाता है, तो दूसरे को अपडेट करने की संभावना होती है इससे वर्शन पर असर डालने वाली समस्याएं होती हैं. ज़्यादा जानकारी के लिए, यह देखें इस सुविधा को अपनाने से जुड़ी ज़रूरी बातें.

AOSP रेफ़रंस LTZP

एओएसपी में, एलटीज़ेडपी को लागू करने का रेफ़रंस दिया गया है packages/modules/GeoTZ. डिवाइस की जगह की जानकारी का पता लगाने के लिए, रेफ़रंस के तौर पर दी गई यह प्रोसेस, एओएसपी एपीआई का इस्तेमाल करती है साथ ही, जगह की जानकारी को टाइम ज़ोन आईडी के सेट से मैप करने के लिए, उपयोगकर्ता के डिवाइस की डेटा फ़ाइल का इस्तेमाल करता है.

अन्य ओपन सोर्स प्रोजेक्ट से मिले एक संदर्भ डेटा सेट को इसके साथ शामिल किया जाता है सोर्स कोड. ज़्यादा जानकारी के लिए, यह देखें README.md और विभिन्न लाइसेंस फ़ाइलें.

डीबग और परीक्षण करें

नीचे दिए गए सेक्शन में, जगह के समय क्षेत्र का पता लगाने की सुविधा.

location_time_zone_manager सेवा के साथ इंटरैक्ट करें

जब जगह की जानकारी का एल्गोरिदम, डिवाइस पर चल रहे किसी डिवाइस पर काम करता हो Android 12 या इसके बाद के वर्शन के लिए, बूट के समय 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