Android Automotive OS, Android का एक ऐसा वर्शन है जिसे कार में इस्तेमाल करने के लिए ऑप्टिमाइज़ किया गया है. यह Android के मुख्य प्लैटफ़ॉर्म पर काम करता है. बिल्ट-इन Google की सुविधा वाली कारों में Android Automotive OS काम करता है. इनमें Google Play, Gemini, Google Assistant, और Google Maps जैसे Google के ऐप्लिकेशन और सेवाएं पहले से मौजूद होती हैं.
Android Automotive OS के हार्डवेयर के बारे में जानकारी
Android Automotive OS वाले डिवाइसों के लिए, हार्डवेयर की ज़रूरी शर्तों के बारे में ज़्यादा जानने के लिए, Android के उन वर्शन के लिए Android Compatibility Definition Document (सीडीडी) का Automotive Requirements सेक्शन देखें जिन पर आपका ऐप्लिकेशन काम करता है.
डिसप्ले कटआउट
Android के अन्य डिवाइसों की तरह, Android Automotive OS वाले ऐसे डिवाइसों पर डिसप्ले कटआउट की सुविधा उपलब्ध होती है जिनकी स्क्रीन रेक्टैंगुलर नहीं होती. हालांकि, कारों में मौजूद कटआउट का साइज़ और आकार, अन्य डिवाइसों में मौजूद कटआउट से अलग हो सकता है. ज़्यादा जानकारी के लिए, विंडो इनसेट और डिसप्ले कटआउट के साथ काम करना देखें.
ऑडियो
Android Automotive OS वाले डिवाइसों में, आम तौर पर वॉल्यूम को कम या ज़्यादा करने की सुविधा नहीं होती. इस बारे में ज़्यादा जानने के लिए कि इससे आपके ऐप्लिकेशन पर क्या असर पड़ सकता है, वॉल्यूम को कम या ज़्यादा करने की सुविधा न होने वाले डिवाइसों के साथ काम करना देखें.
Android Automotive OS के सॉफ़्टवेयर के बारे में जानकारी
Android Automotive OS, अन्य डिवाइसों में इस्तेमाल होने वाले ऑपरेटिंग सिस्टम पर ही आधारित है. हालांकि, इसमें कुछ ऐसी अतिरिक्त सुविधाएं हैं जो सिर्फ़ इसी में उपलब्ध हैं. इससे ऐप्लिकेशन को डेवलप और इस्तेमाल करने के तरीके पर असर पड़ सकता है.
सिस्टम यूज़र इंटरफ़ेस (यूआई)
कार में, सिस्टम यूज़र इंटरफ़ेस (यूआई) के इन एलिमेंट के काम करने के तरीके में कुछ अंतर होते हैं. इनके बारे में आपको पता होना चाहिए.
नेविगेशन
Android Automotive OS वाले डिवाइसों के लिए, हार्डवेयर या सॉफ़्टवेयर में 'बैक' बटन की सुविधा होना ज़रूरी नहीं है. यह सुविधा अन्य डिवाइसों के लिए ज़रूरी है. अगर आपका ऐप्लिकेशन, Android Automotive OS के साथ काम करने वाले मोड में नहीं चल रहा है, तो उसमें यूज़र इंटरफ़ेस (यूआई) की ऐसी सुविधाएं शामिल होनी चाहिए जिनसे ऐप्लिकेशन में नेविगेट किया जा सके. इससे, क्वालिटी से जुड़े दिशा-निर्देश AN-1 की ज़रूरी शर्तें पूरी की जा सकती हैं.
सिस्टम बार का लेआउट
Android Automotive OS में, अन्य डिवाइसों की तरह ही सिस्टम बार शामिल होते हैं. जैसे, स्टेटस बार और नेविगेशन बार. कारों में, इन बार का साइज़ और पोज़िशन, अन्य डिवाइसों से अलग हो सकती है. उदाहरण के लिए, नेविगेशन बार को स्क्रीन के बाएं, दाएं या सबसे नीचे रखा जा सकता है. अगर स्टेटस बार सबसे ऊपर और नेविगेशन बार सबसे नीचे है, तब भी (जैसा कि ज़्यादातर फ़ोन और टैबलेट में होता है), कारों में इन एलिमेंट का साइज़ ज़्यादा होगा.
इसके अलावा, मोबाइल डिवाइसों पर डिसप्ले कटआउट, आम तौर पर सिस्टम बार की सीमाओं के अंदर होते हैं. हालांकि, कारों में ऐसा नहीं होता.
ज़्यादा जानकारी के लिए, विंडो इनसेट और डिसप्ले कटआउट के साथ काम करना देखें.
इमर्सिव मोड
Android Automotive OS, ओईएम को यह कंट्रोल करने की सुविधा देता है कि इमर्सिव मोड में जाने और उससे बाहर निकलने के लिए, ऐप्लिकेशन सिस्टम बार को दिखा सकते हैं या नहीं. ओईएम, ऐप्लिकेशन को सिस्टम बार छिपाने से रोककर यह पक्का कर सकते हैं कि स्क्रीन पर, वाहन के कंट्रोल हमेशा ऐक्सेस किए जा सकें. जैसे, तापमान कंट्रोल करने की सुविधा.
उपयोगकर्ता अनुभव से जुड़ी पाबंदियां
उपयोगकर्ता अनुभव (यूएक्स) से जुड़ी पाबंदियां, Android Automotive OS में मौजूद एक ऐसी सुविधा है जो ड्राइवर का ध्यान भटकने से जुड़ी समस्याओं को हल करती है. यूएक्स से जुड़ी पाबंदियों की मदद से, ड्राइविंग के दौरान इस्तेमाल करने के लिए ऑप्टिमाइज़ न किए गए ऐप्लिकेशन के इस्तेमाल को अपने-आप रोका जा सकता है.
वाहन बनाने वाली कंपनियां, यूएक्स से जुड़ी पाबंदियों के लागू होने के तरीके और समय के लिए नियम तय करती हैं. ये नियम, देश/इलाके के हिसाब से अलग-अलग हो सकते हैं. उदाहरण के लिए, यूरोप में बेची जाने वाली किसी कार के लिए, अमेरिका में बेची जाने वाली उसी कार के मुकाबले अलग नियम हो सकते हैं.
यूएक्स से जुड़ी पाबंदियों के नियम, किसी वाहन में मौजूद डिसप्ले के हिसाब से भी अलग-अलग हो सकते हैं. उदाहरण के लिए, हो सकता है कि वाहन के चलने के दौरान, ड्राइवर की नज़र में आने वाले सेंटर डिसप्ले पर पाबंदी हो. वहीं, पैसेंजर डिसप्ले पर कोई पाबंदी न हो.
अगर आपके ऐप्लिकेशन को यूएक्स से जुड़ी पाबंदियों के हिसाब से अडजस्ट करना है, तो सीधे तौर पर उनका रेफ़रंस दें. उन्हें लागू करने के तरीके को रिवर्स इंजीनियर न करें. उदाहरण के लिए, अगर आपने यह मान लिया कि गियर 'पार्क' पर न होने पर, यूएक्स से जुड़ी पाबंदियां लागू होती हैं, तो हो सकता है कि आपने पैसेंजर डिसप्ले पर चल रहे किसी ऐप्लिकेशन को बिना वजह पाबंदी लगा दी हो.
डिस्ट्रैक्शन ऑप्टिमाइज़ेशन
डिफ़ॉल्ट रूप से, यूएक्स से जुड़ी पाबंदियां लागू होने पर, ऐप्लिकेशन की गतिविधियों को नहीं चलाया जा सकता. इससे, ड्राइवर का ध्यान भटकने की समस्या को कम किया जा सकता है. सिस्टम को यह बताने के लिए कि वाहन के चलने के दौरान, किसी गतिविधि
को जारी रखना चाहिए, उससे जुड़े <activity> एलिमेंट में, यह <meta-data>
एलिमेंट जोड़ा जा सकता है.
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
Android Automotive OS के लिए ऐप्लिकेशन डेवलप करते समय, आपके मेनिफ़ेस्ट में यह मेटाडेटा
सिर्फ़ तब मौजूद होना चाहिए, जब कार ऐप्लिकेशन लाइब्रेरी का इस्तेमाल करके बनाए गए किसी ऐप्लिकेशन के CarAppActivity के लिए, <activity> मेनिफ़ेस्ट
एलिमेंट का एलान किया जा रहा हो.
किसी अन्य गतिविधि को डिस्ट्रैक्शन ऑप्टिमाइज़ के तौर पर मार्क नहीं किया जाना चाहिए. अगर ऐसा किया जाता है, तो Google Play Store पर सबमिट करने पर, आपका ऐप्लिकेशन अस्वीकार कर दिया जाएगा.
सुलभता
Android Automotive OS के लिए, सुलभता से जुड़ी सुविधाएं, अन्य डिवाइसों के मुकाबले कम हैं. Android Automotive OS वाले डिवाइसों पर, TalkBack, बटन से ऐक्सेस करें, और Voice Access उपलब्ध नहीं है.
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 की सुविधाओं से जुड़ी ज़रूरी शर्तें पूरी करना
Android Automotive
OS के लिए बनाए गए ऐप्लिकेशन को Google Play के ज़रिए कारों में उपलब्ध कराने के लिए, <uses-feature> फ़ाइल में android.hardware.type.automotive
सुविधा के लिए,
AndroidManifest.xml एलिमेंट शामिल होना चाहिए:
<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 के डिवाइस कैटलॉग का इस्तेमाल किया जा सकता है.