टाइम ज़ोन के विकल्प

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

सिस्टम ऑन चिप (SoC) में आम तौर पर इस्तेमाल होने वाली सभी रीयल-टाइम घड़ियों में कुछ ड्रिफ़्ट होता है. यह समय के साथ इकट्ठा होता है और इसे ठीक न करने पर, गंभीर गड़बड़ी हो सकती है. इसके अलावा, स्थानीय समय के सटीक तौर पर दिखने की उम्मीद ज़्यादा होती है. इसलिए, कोऑर्डिनेटेड यूनिवर्सल टाइम (यूटीसी) से सही ऑफ़सेट का ध्यान रखना ज़रूरी है.

वाहन के जीवनकाल के दौरान, टाइम ज़ोन की जानकारी और डेलाइट सेविंग टाइम (डीएसटी) के लागू होने की जानकारी में बदलाव हो सकता है. उदाहरण के लिए, डीएसटी लागू करने के कई सालों बाद, ब्राज़ील ने 2019 में डीएसटी का शेड्यूल शुरू नहीं किया.

Android, टाइम ज़ोन के नियमों को मैनेज करने से जुड़ी समस्याओं को हल करने के लिए ज़रूरी बुनियादी ढांचा उपलब्ध कराता है. ज़्यादा जानकारी के लिए, टाइम ज़ोन के नियम लेख पढ़ें. इससे OEM, सिस्टम अपडेट किए बिना डिवाइसों पर टाइम ज़ोन के अपडेट किए गए नियमों का डेटा पुश कर सकते हैं. इस प्रोसेस की मदद से:

  • उपयोगकर्ताओं को समय पर अपडेट मिलते हैं. इससे Android डिवाइस का इस्तेमाल करने की अवधि बढ़ती है.
  • OEM, सिस्टम इमेज के अपडेट के अलावा, टाइम ज़ोन के अपडेट की भी अलग से जांच कर सकते हैं.

ध्यान दें: AAOS 10, Android 10 (और उसके बाद के वर्शन) के रिलीज़ में दिए गए, APEX पर आधारित मॉड्यूल अपडेट करने के तरीके के साथ काम नहीं करता.

ध्यान दें: इस सुविधा को लागू करने के लिए, सिस्टम को रीबूट करना ज़रूरी है.

कारों में समय (ज़ोन) की जानकारी के सोर्स

Android डिवाइस, सिस्टम लेवल पर समय को Unix टाइम में मैनेज करते हैं. साथ ही, अपनी पसंद के टाइम ज़ोन ऑफ़सेट को लागू करते हैं और फिर उपयोगकर्ताओं को दिखाने के लिए, वैल्यू को स्थानीय समय में बदल देते हैं. मौजूदा उपयोगकर्ता का ज़ोन आईडी (जिसे अक्सर ऑलसन आईडी कहा जाता है) को सेटिंग के तौर पर सेव किया जाता है. उदाहरण के लिए, Europe/London.

यहां बताए गए ज़्यादातर तरीके, समय की जानकारी के बारे में बताते हैं. इन स्टैंडर्ड का मकसद, उपयोगकर्ताओं को मौजूदा समय बताना है, न कि लागू टाइम ज़ोन के नियमों के बारे में बताना. असल टाइम ज़ोन का पता लगाने के लिए, डिवाइस को ज़ोन आईडी सेट करने से पहले, देश, ऑफ़सेट, और डीएसटी ऑफ़सेट जैसे फ़ैक्टर का इस्तेमाल करना होगा.

यह प्रोसेस चुनौती भरा हो सकता है. उपलब्ध जानकारी के आधार पर, समय का हिसाब लगाना मुश्किल हो सकता है. उदाहरण के लिए, टाइम ज़ोन के नियम के मुताबिक, America/Denver में डीएसटी का पालन किया जाता है. हालांकि, गर्मियों के दौरान यह Mountain Daylight Time (MDT) का इस्तेमाल करता है. वहीं, America/Phoenix में MDT का इस्तेमाल किया जाता है.

सेल्युलर रेडियो

सिस्टम की जानकारी (एसआई), लॉन्ग-टर्म इवोल्यूशन (एलटीई) एयर इंटरफ़ेस का एक ज़रूरी हिस्सा है. इसे बेस स्टेशन (बीएस) से ब्रॉडकास्ट कंट्रोल चैनल (बीसीसीएच) पर भेजा जाता है. 3GPP TS 36.331 में SystemInformationBlockType16 (SIB16) के बारे में बताया गया है. इसमें जीपीएस और कोऑर्डिनेटेड यूनिवर्सल टाइम (यूटीसी), स्थानीय समय के ऑफ़सेट के साथ-साथ डीएसटी की जानकारी शामिल होती है.

2G और 3G में भी मिलती-जुलती सुविधाएं मिल सकती हैं. इनमें नेटवर्क आइडेंटिटी और टाइम ज़ोन (NITZ) की जानकारी ब्रॉडकास्ट की जा सकती है. ज़्यादा जानकारी के लिए, 3GPP TS 22.042 देखें. अन्य मोबाइल रेडियो स्टैंडर्ड में भी ये सुविधाएं होती हैं.

माफ़ करें, ज़्यादातर स्टैंडर्ड में यह जानकारी भेजना ज़रूरी नहीं है. इसलिए, यह सभी नेटवर्क पर उपलब्ध नहीं है.

फ़ायदे नुकसान
  • उपलब्ध होने पर, ज़्यादातर काम की जानकारी देता है.
  • आसानी से इस्तेमाल किया जा सकता है. यह सुविधा, Android पर पहले से ही काम करती है. हालांकि, इसके लिए ज़रूरी है कि मोबाइल रेडियो को सिर्फ़ डेटा मॉडेम के तौर पर न दिखाया जाए, बल्कि फ़ोन के तौर पर भी दिखाया जाए.
  • इसके लिए, इंटरनेट कनेक्शन की ज़रूरत नहीं होती.
  • इस बात की कोई गारंटी नहीं है कि जानकारी ब्रॉडकास्ट की गई है या बेस स्टेशन को सही तरीके से कॉन्फ़िगर किया गया है.

  • सीमा वाले इलाकों में, आस-पास के देश के सेल टावर (रोमिंग) से सिग्नल मिल सकता है और गलत टाइम ज़ोन दिख सकता है.

  • कुछ जगहों पर, अपडेट होने में घंटों या दिन लग सकते हैं.

नेटवर्क टाइम प्रोटोकॉल

नेटवर्क टाइम प्रोटोकॉल (एनटीपी) का इस्तेमाल, आम तौर पर यूनिक्स के टाइम पीरियड की सटीक जानकारी पाने के लिए किया जाता है. Android, अपने सिस्टम टाइम को एनटीपी सर्वर के साथ सिंक कर सकता है. हालांकि, इसके लिए ज़रूरी है कि सामान्य RadioTuner.getParameters() मेटाडेटा की मदद से, RadioManager के क्लाइंट को यह जानकारी दी जा सके. जब सिस्टम का समय सिंक नहीं होता और कैरियर ने हाल ही में NITZ अपडेट नहीं दिया है, तो NTP सिस्टम के समय को अपडेट करता है. अगर उपयोगकर्ता NITZ उपलब्ध न होने पर AUTO_TIME को चालू करता है, तो सिस्टम तुरंत नेटवर्क टाइम की जांच करता है.

फ़ायदे नुकसान

आसानी से इस्तेमाल किया जा सकता है और यह Android पर काम करता है.

  • अधूरा, NTP सिर्फ़ एक ज़रूरी वैल्यू (समय) देता है. सबसे अच्छे मामले में भी, NTP टाइम ज़ोन नहीं दे सकता.

  • इसके लिए, इंटरनेट कनेक्शन की ज़रूरत होती है.

ब्रॉडकास्ट रेडियो ट्यूनर

समय और टाइम ज़ोन की जानकारी पाने के लिए, डिवाइस में पहले से मौजूद ट्यूनर का इस्तेमाल करना आकर्षक है. हालांकि, इसमें कुछ चुनौतियां भी हैं. रेडियो ब्रॉडकास्ट के कई मानक, अपनी पसंद की जानकारी दिखाने के विकल्प तय करते हैं. आम तौर पर, ब्रॉडकास्ट रेडियो ट्यूनर, सेल्युलर रेडियो जैसी ही जानकारी देता है.

ETSI EN 300 401 V1.4.1 (2006-06), सेक्शन 8.1 में, सेवा की जानकारी से जुड़ी ऐसी सुविधाओं के बारे में बताया गया है जो डिजिटल ऑडियो ब्रॉडकास्टिंग (डीएबी) सिस्टम के लिए, ऑडियो प्रोग्राम और डेटा, दोनों के लिए सेवाओं के बारे में ज़्यादा जानकारी देती हैं. सेक्शन 8.1.3 में, समय और तारीख के फ़ॉर्मैट के साथ-साथ, देश और स्थानीय समय के ऑफ़सेट की जानकारी दी गई है.

इसी तरह, आम तौर पर एफ़एम ट्यूनर में लागू किए जाने वाले रेडियो डेटा सिस्टम (आरडीएस) के लिए, EN 50067 स्टैंडर्ड के सेक्शन 3.1.5.6 में, घड़ी के समय और डेटा (हर मिनट में एक बार ट्रांसमिट किया जाता है) के फ़ॉर्मैट के बारे में बताया गया है. इसके अलावा, प्रोग्राम के आइडेंटिफ़िकेशन के तौर पर, देश का बड़ा कोड (ईसीसी) भी वापस पाया जा सकता है.

एचडी रेडियो में, स्टेशन की जानकारी देने वाली सेवा (एसआईएस) पैरामीटर मैसेज (MSG आईडी 0111) में, एचडी रेडियो™ एयर इंटरफ़ेस डिज़ाइन के ब्यौरे वाली स्टेशन की जानकारी देने वाली सेवा के ट्रांसपोर्ट की जानकारी के हिस्से के तौर पर, इससे जुड़े विकल्प शामिल होते हैं. पांचवें सेक्शन में साफ़ तौर पर चेतावनी वाले शब्दों के बारे में बताया गया है. ब्रॉडकास्ट के लिए घड़ी की सुविधा का इस्तेमाल करते समय, इन शब्दों का ध्यान रखना ज़रूरी है. यह बात अन्य सिस्टम पर भी लागू होती है:

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

इसके अलावा, कम से कम एचडी रेडियो के लिए, इस जानकारी को ब्रॉडकास्ट करना ज़रूरी नहीं है. साथ ही, सिर्फ़ इस पर भरोसा नहीं किया जाना चाहिए.

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

लागू करने के बारे में सलाह

Android, अपने सिस्टम टाइम को एनटीपी सर्वर के साथ सिंक कर सकता है. हालांकि, इसके लिए ज़रूरी है कि RadioManager के क्लाइंट को एनटीपी सर्वर का ऐक्सेस दिया जा सके. हमारा सुझाव है कि आप वेंडर एक्सटेंशन की सुविधा का फ़ायदा लें. इस सुविधा को हार्डवेयर एब्स्ट्रैक्शन लेयर (एचएएल) में लागू करना ज़रूरी है. इसके बाद, इसे सामान्य RadioTuner.getParameters() तरीके से RadioManager के क्लाइंट के लिए उपलब्ध कराया जा सकता है.

यह समाधान बेहतर बना रहे, इसके लिए इस वेंडर एक्सटेंशन के उपयोगकर्ता को यह पता लगाना होगा कि एचएएल इस सुविधा के साथ काम करता है या नहीं. इस बात को लेकर कोई अनुमान न लगाएं. getParameters कॉल के लिए पैरामीटर स्ट्रिंग को साफ़ तौर पर व्यवस्थित किया जाना चाहिए, ताकि सभी वेंडर इसका आसानी से इस्तेमाल कर सकें. उदाहरण के लिए, अपने संगठन के नेमस्पेस का इस्तेमाल करना. इसके लिए, नेमस्पेस के आगे सही डोमेन जोड़ें. जैसे, com.me.timezoneTuner.currenttimezone.

जानकारी इवेंट-ड्रिवन होने की वजह से, इस जानकारी को पाने के लिए RadioTuner.Callback.onParametersUpdated() कॉलबैक का इस्तेमाल करना फ़ायदेमंद हो सकता है. अगर इस सुविधा को कॉन्फ़िगर किया जा सकता है, तो setParameters के ऊपर कस्टम रूटीन का एक सेट डिज़ाइन करें. उदाहरण के लिए:

com.me.timezoneTuner.currenttimezoneEvent.enable

ग्लोबल नेविगेशन सैटलाइट सिस्टम (जीएनएसएस) अपने-आप सिर्फ़ समय और जगह की सटीक जानकारी दे सकता है.

भौगोलिक-स्थान

इस समस्या को हल करने के लिए, रिवर्स-जियोकोडिंग की सुविधा का इस्तेमाल करें. साथ ही, जगह के आधार पर लुकअप करके देश और समय क्षेत्र का पता लगाएं. वाहन की जगह की जानकारी के लिए, जीएनएसएस सबसे सही और बेहतर विकल्प है. Google का टाइम ज़ोन एपीआई, ज़रूरी कन्वर्ज़न चलाने के लिए ज़रूरी सभी सुविधाएं उपलब्ध कराता है. इसके लिए, इंटरनेट कनेक्शन होना ज़रूरी है. ऑनलाइन समाधान लागू करते समय, उपयोगकर्ता की निजता को सुरक्षित रखना सबसे ज़रूरी है! डेटा इस्तेमाल करने के लिए खरीदार से लिए जाने वाले शुल्क को स्वीकार करने या न करने के लिए, उपयोगकर्ता की अनुमति लेना ज़रूरी है. साथ ही, इसके लिए अनुरोध करना भी ज़रूरी है.

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

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

फ़ोन को ब्लूटूथ, वाई-फ़ाई या यूएसबी से कनेक्ट किया गया हो

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

ब्लूटूथ लो एनर्जी (BLE) की सुविधा वाले कुछ फ़ोन पर, GATT Current Time characteristic और Current Time Service Profile Specification 1.1 की मदद से, समय देखने का विकल्प मिलता है. हालांकि, इस विकल्प से, मार्केट के बड़े सेगमेंट को ध्यान में नहीं रखा जाता, ताकि सिर्फ़ इस पर भरोसा किया जा सके.

फ़ायदे नुकसान
  • इसके लिए, इंटरनेट कनेक्शन की ज़रूरत नहीं होती.
  • फ़ोन से पता लगाए गए टाइम ज़ोन में हुए बदलावों की जानकारी, हेड यूनिट को भेजी जा सकती है.
  • Android में यह सुविधा पहले से मौजूद नहीं है.
  • यह सुविधा सिर्फ़ तब काम करती है, जब फ़ोन हेड यूनिट से कनेक्ट हो.
  • फ़ोन में जो समय दिखता है वह उतना ही अच्छा या बुरा होता है.
  • लागू करना मुश्किल है.
  • सभी फ़ोन पर, BLE GATT Current Time Service प्रोफ़ाइल काम नहीं करती.

सोर्स का इस्तेमाल करना

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

ऊपर बताए गए हर विकल्प के अपने फ़ायदे और नुकसान हैं. उदाहरण के लिए, डिज़ाइन के लिए यह अहम फ़ैसला लेना होगा कि समय के गलत दिखने की समस्या कभी-कभी होने के मुकाबले, कितनी बार हो सकती है. साथ ही, इस समस्या से जुड़ी समस्याओं को कैसे मैनेज किया जा सकता है. पूरी तरह से अपने-आप काम करने वाला ऐसा समाधान जिससे सभी स्थितियों में बेहतर तरीके से काम करने की उम्मीद की जा सकती है. हालांकि, यह कई जानकारी के सोर्स के कॉम्बिनेशन पर आधारित होना चाहिए. कोई भी विकल्प, 100% उपलब्धता नहीं दे सकता.

कुछ समय के लिए फ़ॉलबैक के तौर पर मैन्युअल कॉन्फ़िगरेशन का विकल्प आसानी से लागू किया जा सकता है. साथ ही, कई उपयोगकर्ताओं के लिए यह विकल्प काफ़ी हो सकता है.