Android Automotive OS, Android का एक ऐसा वर्शन है जिसे कार में इस्तेमाल करने के लिए ऑप्टिमाइज़ किया गया है. यह Android के मुख्य प्लैटफ़ॉर्म पर आधारित है. Google की सुविधाएँ पहले से मौजूद होने वाली कारों में Android Automotive OS काम करता है. इनमें Google के ऐप्लिकेशन और सेवाएँ पहले से मौजूद होती हैं. जैसे, Google Play, Gemini, Google Assistant, और Google Maps.
Android Automotive OS के हार्डवेयर के बारे में जानकारी
Android Automotive OS डिवाइसों के लिए, हार्डवेयर की ज़रूरी शर्तों के बारे में ज़्यादा जानने के लिए, Android कंपैटबिलिटी डेफ़िनिशन डॉक्यूमेंट (सीडीडी) के Automotive से जुड़ी ज़रूरी शर्तें सेक्शन देखें. यह सेक्शन, Android के उन वर्शन के लिए है जिन पर आपका ऐप्लिकेशन काम करता है.
डिसप्ले कटआउट
Android Automotive OS पर काम करने वाले ऐसे डिवाइसों पर डिसप्ले कटआउट की सुविधा काम करती है जिनमें रेक्टैंगुलर डिसप्ले नहीं होता. यह सुविधा, Android के अन्य फ़ॉर्म फ़ैक्टर की तरह ही काम करती है. हालांकि, कारों में मौजूद कटआउट का साइज़ और आकार, अन्य डिवाइसों में मौजूद कटआउट से काफ़ी अलग हो सकता है. ज़्यादा जानकारी के लिए, विंडो इंसर्ट और डिसप्ले कटआउट के साथ काम करना लेख पढ़ें.
ऑडियो
Android Automotive OS डिवाइसों में, आवाज़ को कम या ज़्यादा करने की सुविधा नहीं होती. इस बदलाव से आपके ऐप्लिकेशन पर क्या असर पड़ सकता है, इस बारे में ज़्यादा जानने के लिए फ़िक्स किए गए वॉल्यूम वाले डिवाइसों के साथ काम करना लेख पढ़ें.
Android Automotive OS सॉफ़्टवेयर के बारे में जानकारी
Android Automotive OS, उसी कोर ऑपरेटिंग सिस्टम पर आधारित है जिसका इस्तेमाल अन्य डिवाइसों के लिए किया जाता है. हालांकि, इसमें कुछ ऐसी अतिरिक्त सुविधाएं हैं जो सिर्फ़ इसी के लिए उपलब्ध हैं. इनसे ऐप्लिकेशन को डेवलप करने और इस्तेमाल करने के तरीके पर असर पड़ सकता है.
सिस्टम यूज़र इंटरफ़ेस (यूआई)
कार में इन सिस्टम यूज़र इंटरफ़ेस (यूआई) एलिमेंट के काम करने के तरीके में कुछ अंतर होते हैं. इनके बारे में आपको पता होना चाहिए.
नेविगेशन
अन्य डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन के उलट, Android Automotive OS वाले डिवाइसों में हार्डवेयर या सॉफ़्टवेयर बैक अफ़ॉर्डेंस की ज़रूरत नहीं होती. अगर आपका ऐप्लिकेशन कंपैटिबिलिटी मोड में नहीं चल रहा है, तो उसमें लागू की गई गतिविधियों में यूज़र इंटरफ़ेस (यूआई) की सुविधाएं शामिल होनी चाहिए. इससे ऐप्लिकेशन में नेविगेशन की सुविधा चालू की जा सकेगी. इससे AN-1 क्वालिटी के दिशा-निर्देश का पालन किया जा सकेगा.
सिस्टम बार का लेआउट
अन्य डिवाइसों की तरह, Android Automotive OS में भी सिस्टम बार शामिल होते हैं. जैसे, स्टेटस बार और नेविगेशन बार. कार में, इन बार का साइज़ और पोज़िशन, अन्य फ़ॉर्म फ़ैक्टर से अलग हो सकती है. उदाहरण के लिए, नेविगेशन बार को स्क्रीन पर बाईं, दाईं या सबसे नीचे रखा जा सकता है. अगर स्क्रीन पर सबसे ऊपर स्टेटस बार और सबसे नीचे नेविगेशन बार मौजूद है, तो भी कार में इन एलिमेंट का साइज़, फ़ोन और टैबलेट के मुकाबले काफ़ी बड़ा होगा. ऐसा ज़्यादातर फ़ोन और टैबलेट में होता है.
इसके अलावा, मोबाइल डिवाइसों पर डिसप्ले कटआउट आम तौर पर सिस्टम बार की सीमाओं के अंदर होते हैं. हालांकि, कारों में ऐसा नहीं होता.
ज़्यादा जानकारी के लिए, विंडो इंसर्ट और डिसप्ले कटआउट के साथ काम करना लेख पढ़ें.
इमर्सिव मोड
Android Automotive OS, ओईएम को यह कंट्रोल करने की सुविधा देता है कि ऐप्लिकेशन, इमर्सिव मोड में जाने और उससे बाहर निकलने के लिए सिस्टम बार दिखा सकते हैं या नहीं. ऐप्लिकेशन को सिस्टम बार छिपाने से रोककर, ओईएम यह पक्का कर सकते हैं कि वाहन के कंट्रोल, जैसे कि क्लाइमेट कंट्रोल, हमेशा स्क्रीन पर ऐक्सेस किए जा सकें.
उपयोगकर्ता अनुभव से जुड़ी पाबंदियां
उपयोगकर्ता अनुभव (यूएक्स) से जुड़ी पाबंदियां, Android Automotive OS में शामिल एक सुविधा है. इससे ड्राइवर का ध्यान भटकने से रोकने में मदद मिलती है. यूज़र एक्सपीरियंस (यूएक्स) से जुड़ी पाबंदियों की वजह से, ऐसे ऐप्लिकेशन का इस्तेमाल अपने-आप बंद हो जाता है जिन्हें गाड़ी चलाते समय इस्तेमाल करने के लिए ऑप्टिमाइज़ नहीं किया गया है.
उपयोगकर्ता अनुभव से जुड़ी पाबंदियां कब और कैसे लागू होंगी, यह तय करने वाले नियमों का सटीक सेट, वाहन बनाने वाली कंपनियां तय करती हैं. ये नियम, देश/इलाके के हिसाब से अलग-अलग हो सकते हैं. उदाहरण के लिए, यूरोप में बेचे जाने वाले किसी वाहन के लिए अलग नियम हो सकते हैं. वहीं, अमेरिका में बेचे जाने वाले उसी वाहन के लिए अलग नियम हो सकते हैं.
यूज़र एक्सपीरियंस रिस्ट्रिक्शन के नियम, वाहन में मौजूद डिसप्ले के हिसाब से भी अलग-अलग हो सकते हैं. उदाहरण के लिए, ऐसा हो सकता है कि गाड़ी चलाते समय ड्राइवर की नज़र के सामने मौजूद सेंटर डिसप्ले पर पाबंदी लगा दी जाए, जबकि पैसेंजर डिसप्ले पर कोई पाबंदी न हो.
अगर आपके ऐप्लिकेशन को UX से जुड़ी पाबंदियों के मुताबिक काम करना है, तो सीधे तौर पर उनका रेफ़रंस दें. उन्हें लागू करने के लिए रिवर्स इंजीनियरिंग का इस्तेमाल न करें. उदाहरण के लिए, अगर आपको लगता है कि गियर के पार्क मोड में न होने पर, यूज़र एक्सपीरियंस से जुड़ी पाबंदियां लागू होती हैं, तो हो सकता है कि आप यात्री की सीट के सामने लगे डिसप्ले पर चल रहे किसी ऐप्लिकेशन पर बिना वजह पाबंदी लगा दें.
डिस्ट्रैक्शन ऑप्टिमाइज़ेशन
डिफ़ॉल्ट रूप से, उपयोगकर्ता अनुभव से जुड़ी पाबंदियां लागू होने पर, गतिविधियां नहीं चलाई जा सकतीं. ऐसा ड्राइवर का ध्यान भटकाने से रोकने के लिए किया जाता है. सिस्टम को यह बताने के लिए कि वाहन के चलने के दौरान कोई गतिविधि जारी रहनी चाहिए, <activity> एलिमेंट में यह <meta-data> एलिमेंट जोड़ा जा सकता है.
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
Android Automotive OS के लिए ऐप्लिकेशन डेवलप करते समय, यह मेटाडेटा सिर्फ़ तब आपके मेनिफ़ेस्ट में मौजूद होना चाहिए, जब Car App Library का इस्तेमाल करके बनाए गए ऐप्लिकेशन के CarAppActivity के लिए <activity> मेनिफ़ेस्ट एलिमेंट का एलान किया जा रहा हो.
किसी अन्य गतिविधि को डिस्ट्रैक्शन ऑप्टिमाइज़्ड के तौर पर मार्क नहीं किया जाना चाहिए. अगर ऐसा किया जाता है, तो Google Play Store पर सबमिट करने पर आपके ऐप्लिकेशन को अस्वीकार कर दिया जाएगा.
सुलभता
Android Automotive OS के लिए सुलभता की सुविधाएं, अन्य डिवाइसों के मुकाबले कम हैं. TalkBack, ऐक्सेस करने का तरीका बदलें, और बोलकर फ़ोन इस्तेमाल करने की सुविधा, Android Automotive OS डिवाइसों पर उपलब्ध नहीं हैं.
Android Automotive OS डिवाइसों पर, कैप्शन की प्राथमिकताएं सेट की जा सकती हैं. इंटिग्रेशन के बारे में ज़्यादा जानने के लिए, सिस्टम की कैप्शन सेटिंग इस्तेमाल करना लेख पढ़ें.
नेटवर्क चुनना
Android Automotive OS में हर ऐप्लिकेशन के लिए नेटवर्क चुनने की सुविधा (पीएएनएस) काम करती है. इससे ओईएम, मोबाइल नेटवर्क के ट्रैफ़िक को हर ऐप्लिकेशन के हिसाब से अलग-अलग नेटवर्क पर रूट कर सकते हैं.
ज़्यादातर ऐप्लिकेशन, उन्हें असाइन किए गए डिफ़ॉल्ट नेटवर्क का ही इस्तेमाल करते हैं. साथ ही, उन्हें इस सुविधा से ही फ़ायदा मिलता है. उदाहरण के लिए, ओईएम आपके ऐप्लिकेशन से होने वाले नेटवर्क ट्रैफ़िक के लिए पेमेंट कर सकता है. भले ही, उपयोगकर्ता के पास अपना डेटा प्लान न हो. अगर आपका ऐप्लिकेशन (या उसकी कोई डिपेंडेंसी) डिफ़ॉल्ट नेटवर्क के अलावा किसी दूसरे नेटवर्क पर काम करता है, तो हो सकता है कि उसे ओईएम की ओर से सेट की गई प्राथमिकताओं का फ़ायदा न मिले. डिफ़ॉल्ट नेटवर्क के अलावा अन्य नेटवर्क इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, नेटवर्क की स्थिति पढ़ना देखें.
सिस्टम की सुविधाएं
PackageManager::hasSystemFeature का इस्तेमाल करके, यह पता लगाया जा सकता है कि कोई सुविधा उपलब्ध है या नहीं. इसके हिसाब से, ऐप्लिकेशन के काम करने के तरीके में बदलाव किया जा सकता है.
हार्डवेयर की सुविधाएं
मोबाइल डिवाइस के अलावा अन्य डिवाइसों की तरह ही, कारों में उपलब्ध हार्डवेयर की सुविधाएँ, मोबाइल डिवाइसों में उपलब्ध सुविधाओं से अलग हो सकती हैं.
स्क्रीन की दिशा
टीवी की तरह, कारें भी फ़िक्स्ड ओरिएंटेशन वाले डिवाइस होती हैं. टीवी के उलट, ये पोर्ट्रेट और लैंडस्केप, दोनों ओरिएंटेशन में उपलब्ध होते हैं. यह पक्का करने के लिए कि Android Automotive OS के लिए बनाए गए ऐप्लिकेशन, सभी वाहनों में उपलब्ध कराए जा सकें, ऐप्लिकेशन को यह पक्का करना होगा कि android.hardware.screen.landscape या android.hardware.screen.portrait सुविधाओं के लिए, उनकी कोई साफ़ तौर पर या छिपी हुई ज़रूरी शर्त न हो.
नेटवर्क की जगह की जानकारी
Android Automotive OS वाले कई डिवाइसों में, नेटवर्क की जगह की जानकारी देने के लिए इस्तेमाल किया जाने वाला टेलीफ़ोनी स्टैक लागू नहीं किया जाता. इसलिए, वे android.hardware.location.network सिस्टम की सुविधा की जानकारी नहीं देते. ऐसा हो सकता है कि नेटवर्क की जगह की जानकारी उपलब्ध न हो. हालांकि, अनुमानित जगह की जानकारी को ऐक्सेस करने की सुविधा अब भी उपलब्ध है. इसके बारे में जानने के लिए, Android Automotive OS पर अनुमानित जगह की जानकारी लेख पढ़ें.
सॉफ़्टवेयर की सुविधाएं
ऐसा हो सकता है कि Android Automotive OS डिवाइसों पर, सॉफ़्टवेयर की कुछ ऐसी सुविधाएं काम न करें जो आम तौर पर दूसरे डिवाइसों पर काम करती हैं. उदाहरण के लिए, Android Automotive OS की सुविधा वाली कई गाड़ियों में ये सुविधाएं उपलब्ध नहीं हैं:
Google Play की सुविधा से जुड़ी ज़रूरी शर्तों को पूरा करना
Google Play के ज़रिए कारों में उपलब्ध कराए जाने वाले, Android Automotive OS के लिए बनाए गए ऐप्लिकेशन में, android.hardware.type.automotive सुविधा के लिए AndroidManifest.xml फ़ाइल में <uses-feature> एलिमेंट शामिल होना चाहिए:
<manifest ...>
...
<!--
See Choose a track for Android Automotive OS
for details on how to choose which value to use for the android:required attribute.
-->
<uses-feature
android:name="android.hardware.type.automotive"
android:required="[true|false]">
...
</manifest>
इसके अलावा, अगर आपके ऐप्लिकेशन में android:required="true" के साथ सुविधा के बारे में साफ़ तौर पर एलान या यहां दी गई किसी भी सुविधा के लिए सुविधा से जुड़ी ज़रूरी शर्तें हैं, तो आपको उन्हें अपडेट करना होगा या हटाना होगा. इससे, आपके ऐप्लिकेशन की सुविधा से जुड़ी ज़रूरी शर्तों की वजह से, उसे उन वाहनों में डिस्ट्रिब्यूट करने में कोई समस्या नहीं आएगी जिनके साथ वह काम करता है:
android.hardware.wifiandroid.hardware.screen.portraitandroid.hardware.screen.landscapeandroid.hardware.camera
android:required="true" के साथ साफ़ तौर पर बताई गई सुविधाओं के लिए, इनमें से कोई एक काम किया जा सकता है:
- अगर सुविधा के लिए
<uses-feature>एलिमेंट की ज़रूरत नहीं है, तो इसे मिटा दें. android:required="false"का इस्तेमाल करके, सुविधा के बारे में साफ़ तौर पर बताएं.
जिन सुविधाओं के लिए सहमति लेना ज़रूरी नहीं है उनके लिए, इनमें से कोई एक काम किया जा सकता है:
android:required="false"का इस्तेमाल करके, सुविधा के बारे में साफ़ तौर पर बताएं.- मेनिफ़ेस्ट की उन वैल्यू को हटाएं या अपडेट करें जिनकी वजह से सुविधा के लिए, साफ़ तौर पर न बताई गई ज़रूरी शर्त लागू होती है.
मेनिफ़ेस्ट में सुविधाओं के एलान बदलने से, आपके ऐप्लिकेशन के काम करने के तरीके पर कोई असर नहीं पड़ता. इसलिए, जांच करें कि आपका ऐप्लिकेशन इन सुविधाओं के बिना भी ठीक से काम करता हो.
अक्सर पूछे जाने वाले सवाल
किन वाहनों में बिल्ट-इन Google की सुविधा मिलती है?
Google की बिल्ट-इन सुविधा वाले मॉडल बनाने वाले ओईएम की सूची देखने के लिए, बिल्ट-इन Google के साथ कारें साइट पर जाएं. हार्डवेयर की खास बातों और डिवाइस की अन्य जानकारी को, Play Console की डिवाइस सूची का इस्तेमाल करके पाया जा सकता है.