गाड़ी चलाते समय इस्तेमाल करने के लिए बनाए गए ऐप्लिकेशन के अलावा, Android Automotive OS ब्राउज़र के साथ काम करता है, गेम और वीडियो पार्क होने पर इस्तेमाल करने के लिए ऐप्लिकेशन. आप उसी ऐप्लिकेशन को कारों में वैसे ही शिप कर सकते हैं जैसे आप अन्य कंपनियों के लिए करते हैं बड़ी स्क्रीन वाले डिवाइसों पर भी डाउनलोड किया जा सकता है.
Android Automotive OS के एम्युलेटर पर, अपने मौजूदा ऐप्लिकेशन की जांच करें
Android Automotive OS के लिए अपना ऐप्लिकेशन बनाना शुरू करने के लिए, पहले अपने मौजूदा Android Automotive OS एम्युलेटर पर मौजूद ऐप्लिकेशन. एम्युलेटर सेट अप करने के लिए, Android Automotive OS एम्युलेटर का इस्तेमाल करके टेस्ट करना में दिए गए चरणों का पालन करें. इसके बाद, दिए गए निर्देशों का पालन करके ऐप्लिकेशन को चलाया जा सकता है अपना ऐप्लिकेशन एम्युलेटर पर चलाएं.
अपना ऐप्लिकेशन चलाते समय, साथ काम करने से जुड़ी समस्याओं पर नज़र रखें, जैसे कि फ़ॉलो किया जा रहा है:
- सूचना और मनोरंजन की सुविधा देने वाली स्क्रीन की स्क्रीन की दिशा (ओरिएंटेशन) तय की गई है. शर्तें पूरी करने के लिए कार ऐप्लिकेशन की क्वालिटी के लिए दिशा-निर्देश, ऐप्लिकेशन पर पोर्ट्रेट और लैंडस्केप, दोनों वर्शन काम करना चाहिए ओरिएंटेशन.
- ऐसा हो सकता है कि अन्य डिवाइसों पर उपलब्ध एपीआई, Android Automotive पर उपलब्ध न हों ओएस. उदाहरण के लिए, Google Play Services के कुछ एपीआई Android पर उपलब्ध नहीं हैं Automotive ओएस. सुविधाएं बंद करें सेक्शन देखें पर जाएं.
अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइलें कॉन्फ़िगर करें
Android Automotive OS को टारगेट करने के लिए, आपके ऐप्लिकेशन में कुछ मेनिफ़ेस्ट एंट्री होनी चाहिए. इसकी मदद से, Android Automotive OS को टारगेट करने वाले ऐप्लिकेशन किसी दूसरे Automotive OS रिलीज़ टाइप का इस्तेमाल करके, Play Store पर जाकर. उन्हें रोका गया है मैनुअल समीक्षा प्रक्रिया का इस्तेमाल किया हो, ताकि यह पक्का किया जा सके कि कार में उनका इस्तेमाल किया जा सकता है या नहीं. ज़्यादा जानकारी के लिए, कार के लिए Android ऐप्लिकेशन डिस्ट्रिब्यूट करें पर जाएं विवरण.
Android Automotive OS की ज़रूरी सुविधाएं
Android Automotive OS के लिए बनाए गए ऐप्लिकेशन, कार के Play Store में शामिल किए जा सकते हैं
इसमें नीचे दी गई जानकारी <uses-feature>
शामिल होनी चाहिए
AndroidManifest.xml
के एलिमेंट में
फ़ाइल:
<manifest ...>
...
<uses-feature
android:name="android.hardware.type.automotive"
android:required="true" />
...
</manifest>
वाहन संबंधित ट्रैक पर सबमिट किए गए ऐप्लिकेशन, <uses-feature>
के बारे में जानकारी नहीं दे सकते
पिछले कोड सैंपल में दिखाया गया एलिमेंट दिखाया गया है, क्योंकि ये एलिमेंट पर निर्भर नहीं हो सकते
खास तरह का हार्डवेयर. इसलिए, एक ही ऐप्लिकेशन को वाहन संबंधित और
गैर-ऑटोमोटिव डिवाइस के लिए, आपको अपने ऐप्लिकेशन के कम से कम दो फ़्लेवर जनरेट करने होंगे:
एक ऑटोमोटिव डिवाइस के लिए और दूसरा मोबाइल डिवाइस के लिए. Reader Revenue Manager को सेट अप करने के बारे में
इन अलग-अलग फ़्लेवर को बनाने का तरीका जानने के लिए, नीचे दिया गया दस्तावेज़ देखें:
ऐप्लिकेशन के दोनों फ़्लेवर में एक ही पैकेज का नाम हो सकता है, लेकिन यह ज़रूरी है कि अलग-अलग वर्शन कोड उपलब्ध कराता है, क्योंकि उन्हें Play Store ट्रैक पर अपलोड किया जाता है अलग करना होगा.
अलग-अलग फ़्लेवर का इस्तेमाल करने के बजाय, अलग पैकेज का इस्तेमाल किया जा सकता है आपके मोबाइल और Automotive APKs या ऐप्लिकेशन बंडल के नाम. यह समझने के लिए आपको फ़ायदा हो सकता है. ज़्यादा जानकारी के लिए, पैकेज के नाम देखें.
पिछले कोड नमूने में दिखाए गए एलिमेंट के अलावा, इन कामों के लिए बनाए गए ऐप्लिकेशन
Android Automotive OS में ये <uses-feature>
एलिमेंट शामिल होने चाहिए
रूट <manifest>
एलिमेंट:
<uses-feature
android:name="android.hardware.wifi"
android:required="false"/>
<uses-feature
android:name="android.hardware.screen.portrait"
android:required="false"/>
<uses-feature
android:name="android.hardware.screen.landscape"
android:required="false"/>
इन सुविधाओं को 'ज़रूरी नहीं' पर सेट करने से यह पक्का करने में मदद मिलती है कि आपका ऐप्लिकेशन इससे मेल नहीं खाता Android Automotive OS डिवाइसों में उपलब्ध हार्डवेयर की सुविधाएं.
पक्का करें कि ध्यान भटकाने वाली कोई गतिविधि न हो
यह पक्का करने के लिए कि आपका ऐप्लिकेशन सिर्फ़ कार के पार्क रहने के दौरान इस्तेमाल किया जा सके, ऐसा न करें
किसी भी फ़ाइल में, नीचे दिया गया <meta-data>
एलिमेंट शामिल करें
आपके अंदर <activity>
एलिमेंट
मेनिफ़ेस्ट:
<!-- NOT ALLOWED -->
<meta-data
android:name="distractionOptimized"
android:value="true"/>
इस मेटाडेटा के बिना, आपके ऐप्लिकेशन की गतिविधियां अपने-आप ब्लॉक हो जाएंगी
ओएस की मदद से, कार के ड्राइविंग मोड में जाने पर,
ड्राइवर. ऐसा इसलिए होता है, क्योंकि
onPause
लाइफ़साइकल कॉलबैक, इस दौरान आपको वीडियो और ऑडियो, दोनों को रोकना होगा
आपके ऐप्लिकेशन से.
कैटगरी के हिसाब से मेनिफ़ेस्ट एंट्री
पार्क किए गए सभी ऐप्लिकेशन पर लागू होने वाली पिछली ज़रूरी शर्तों के अलावा, वीडियो और गेम की कैटगरी के लिए, अन्य ज़रूरी शर्तें भी लागू होती हैं:
- वीडियो ऐप्लिकेशन के लिए, अपने ऐप्लिकेशन को वीडियो ऐप्लिकेशन के तौर पर मार्क करना लेख पढ़ें.
- गेम के लिए, अपने ऐप्लिकेशन को गेम के तौर पर मार्क करना लेख पढ़ें.
Android Automotive OS के लिए अपने ऐप्लिकेशन को ऑप्टिमाइज़ करें
अपने उपयोगकर्ताओं को सबसे अच्छा अनुभव देने के लिए, नीचे दी गई चीज़ें रखें Android Automotive OS के लिए अपना ऐप्लिकेशन बनाते समय.
बड़ी स्क्रीन के लिए ऑप्टिमाइज़ करें
Android Automotive OS की गाड़ियों की स्क्रीन का साइज़, ज़्यादा एक जैसा होता है. फ़ोन के मुकाबले टैबलेट और फ़ोल्ड किए जा सकने वाले डिवाइसों का रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) होता है. इसलिए, ऐप्लिकेशन को बड़ी स्क्रीन के लिए ऑप्टिमाइज़ करने से, आपके उपयोगकर्ताओं को कार में भी फ़ायदे मिलते हैं.
विशेष रूप से, अलग-अलग स्क्रीन पर सहायता करें साइज़ और माइग्रेट करें आपके यूज़र इंटरफ़ेस (यूआई) को रिस्पॉन्सिव लेआउट में बदला जा सकता है सबसे बड़े डिसप्ले साइज़ का पूरा फ़ायदा लेने के बारे में जानकारी देने वाली गाइड और मीडिया और गेम गैलरी बनाई जा सकती हैं.
बड़ी स्क्रीन को ऑप्टिमाइज़ करने की अन्य सुविधाएं, जैसे कि इनपुट साथ काम करता है या नहीं Android Automotive OS के लिए शायद सीधे तौर पर कोई फ़ायदा न हो. हालांकि, उपयोगकर्ता अनुभव को बेहतर बनाना. उदाहरण के लिए, कीबोर्ड नेविगेशन रोटरी नेविगेशन की तरह इस्तेमाल किए जाने वाले एपीआई, इसलिए, किए गए किसी भी ऑप्टिमाइज़ेशन से दोनों नाप या आकार वाले डिवाइसों को फ़ायदा हो सकता है.
विंडो इनसेट और डिसप्ले कटआउट के साथ काम करना
Android Automotive OS में सिस्टम यूज़र इंटरफ़ेस (यूआई) शामिल है. यह अन्य डिवाइस टाइप के हिसाब से भी उपलब्ध है एलिमेंट, जैसे कि स्टेटस और नेविगेशन बार और नॉन-रेक्टैंग्युलर के लिए सहायता दिखाएं.
डिफ़ॉल्ट रूप से, ऐप्लिकेशन ऐसे इलाके में काम करते हैं जो सिस्टम बार को ओवरलैप नहीं करता या डिसप्ले कटआउट का इस्तेमाल करें. हालांकि, हो सकता है कि आप अपने ऐप्लिकेशन को सिस्टम बार छिपाना चाहें, कॉन्टेंट बनाएं या डिसप्ले कटआउट में कॉन्टेंट दिखाएं. इसके बारे में नीचे बताया गया है अपने ऐप्लिकेशन को विंडो इनसेट में बनाएं. अगर आपने आपका ऐप्लिकेशन इनमें से कोई भी काम करता है. इस बारे में जानकारी पाने के लिए, नीचे दिए गए सब-सेक्शन देखें Android Automotive OS के पूरे नेटवर्क पर, अपने ऐप्लिकेशन को अच्छी तरह से काम करने का तरीका जानें डिवाइस.
सिस्टम बार, इमर्सिव मोड, और एज-टू-एज रेंडरिंग
कारों में सिस्टम बार का साइज़ और जगह, दूसरे बार से अलग हो सकता है डिवाइस के नाप या आकार. उदाहरण के लिए, नेविगेशन बार को बाईं ओर, स्क्रीन के निचले हिस्से पर. यहां तक कि ऐसे मामले में जहां स्टेटस बार चालू हो सबसे नीचे एक नेविगेशन बार होता है (जैसा कि ज़्यादातर फ़ोन और और टैबलेट), तो इन एलिमेंट का साइज़ कारों में काफ़ी ज़्यादा होगा.
इसके अलावा, Android Automotive OS की मदद से OEM यह कंट्रोल कर सकते हैं कि
ऐप्लिकेशन, इमर्सिव मोड में आने और उससे बाहर निकलने के लिए सिस्टम बार दिखा या छिपा सकते हैं
मोड है. उदाहरण के लिए, ऐप्लिकेशन को
सिस्टम बार को छिपाकर, OEM यह पक्का कर सकते हैं कि व्हीकल कंट्रोल, जैसे कि क्लाइमेट
जिन्हें स्क्रीन पर हमेशा ऐक्सेस किया जा सकता है. अगर किसी OEM ने ऐप्लिकेशन को
सिस्टम बार को कंट्रोल नहीं करता है, तो तब कुछ नहीं होता जब कोई ऐप्लिकेशन
WindowInsetsController
(या WindowInsetsControllerCompat
)
सिस्टम बार दिखाने या छिपाने के लिए एपीआई. show
का दस्तावेज़ देखें और
hide
यह पता लगाने के तरीके के बारे में ज़्यादा जानें कि आपका ऐप्लिकेशन
इनसेट.
इसी तरह, OEM यह भी कंट्रोल कर सकते हैं कि ऐप्लिकेशन कलर सेट कर सकते हैं या नहीं और यह पक्का करने के लिए कि बार और एलिमेंट में मौजूद एलिमेंट वे हर समय साफ़ तौर पर दिखें. अगर आपका ऐप्लिकेशन, एक से दूसरे किनारे तक ले जाते हैं, तो जांच लें कि सिस्टम बार के पीछे सिर्फ़ गैर-ज़रूरी कॉन्टेंट शामिल किया गया है. अगर डिवाइस OEM, रंग को सेट करने से रोकता है, तो हो सकता है कि यह कॉन्टेंट न दिखे की ट्रांसलूसेंसी जैसी दिखती है.
<!-- Depending on OEM configuration, these style declarations
(and the corresponding runtime calls) may be ignored -->
<style name="...">
<item name="android:statusBarColor">...</item>
<item name="android:navigationBarColor">...</item>
<item name="android:windowTranslucentStatus">...</item>
<item name="android:windowTranslucentNavigation">...</status>
</style>
अगर आपका ऐप्लिकेशन एक से दूसरे किनारे तक जाता है, तो ऐप्लिकेशन के साइज़, संख्या, का टाइप या लोकेशन बार में शामिल किया जाता है. इसके बजाय, लेआउट बनाने के लिए विंडो इनसेट एपीआई का इस्तेमाल करें आपके ऐप्लिकेशन का कॉन्टेंट, सिस्टम बार से जुड़ा होता है. यहां जाएं: अपने ऐप्लिकेशन में कॉन्टेंट को एक से दूसरे किनारे तक दिखाना पर जाएं. हार्ड कोड की गई पैडिंग वैल्यू, जो सुझाव कभी नहीं दिया जाता. ये अन्य डिवाइसों पर कॉन्टेंट को सुरक्षित जगह पर रख सकते हैं कार में नहीं होता.
अनियमित आकार के डिसप्ले के हिसाब से ढल जाता है
आयताकार डिसप्ले के अलावा, कुछ वाहनों की इमेज का आकार अनियमित हो सकता है स्क्रीन, जैसा कि पहली इमेज में दिखाया गया है:
![Android Automotive OS डिवाइस का डायग्राम, जिसमें
दाईं ओर मुड़े हुए हैं.](https://developer.android.com/static/images/training/cars/aaos-curved.png?authuser=9&hl=hi)
अगर आपका ऐप्लिकेशन एक से दूसरे किनारे तक रेंडर नहीं करता, तो आपको इसके लिए कुछ करने की ज़रूरत नहीं है का इस्तेमाल किया जा सकता है.
अगर आपका ऐप्लिकेशन एक से दूसरे किनारे तक रेंडर होता है, तो आपके पास यह चुनने का विकल्प होता है कि उसे कैसे बनाना है
डिसप्ले कटआउट के हिसाब से काम करें. संसाधनों का इस्तेमाल करके ऐसा किया जा सकता है
इसके लिए,
android:windowLayoutInDisplayCutoutMode
आपके ऐप्लिकेशन की थीम या रनटाइम के लिए एट्रिब्यूट की वैल्यू
विंडो के
layoutInDisplayCutoutMode
एट्रिब्यूट की वैल्यू सबमिट करें.
क्योंकि Android Automotive OS डिवाइसों पर अलग-अलग तरह के डिसप्ले कटआउट मौजूद हैं
जो मोबाइल डिवाइस पर मौजूद हैं, उनसे अलग हैं, तो
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
या LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
,
जो मोबाइल डिवाइसों पर मिलने वाले कटआउट के हिसाब से ऑप्टिमाइज़ होते हैं. इसके बजाय,
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
का इस्तेमाल करें
या LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
कटआउट से हमेशा बचें या हमेशा कटआउट का इस्तेमाल करें. बाद वाले विकल्प को चुनते समय,
ज़्यादा जानकारी के लिए, डिसप्ले कटआउट की सुविधा देखें
डिसप्ले कटआउट से जुड़े एपीआई के बारे में जानकारी.
अगर आपका ऐप्लिकेशन, डिसप्ले कटआउट एरिया में रेंडर होता है और आपको Android Automotive OS और मोबाइल के बीच क्या अलग-अलग व्यवहार है, देखें अगर आपका ऐप्लिकेशन इसे सेट करता है, तो दिशा-निर्देश के लिए सुविधाओं को बंद करें और वैकल्पिक संसाधनों का इस्तेमाल करें. ऐसा तब करें, जब ऐप, संसाधन फ़ाइलों का इस्तेमाल करके यह तरीका सेट करता है.
सुविधाएं बंद करें
अगर आपको Android Automotive OS पर कोई मौजूदा मोबाइल ऐप्लिकेशन उपलब्ध कराना है, तो ऐसा हो सकता है कि कुछ सुविधाएँ और फ़ंक्शन काम के न हों या उपलब्ध न हों. इसके लिए उदाहरण के लिए, कारें आम तौर पर कैमरे की ऐक्सेस नहीं देती हैं. इसके अलावा, सिर्फ़ Google Play services के सबसेट, Android Automotive OS पर उपलब्ध हैं; देखें ज़्यादा जानकारी के लिए, कार के लिए Google Play services विवरण.
आप PackageManager.hasSystemFeature
का इस्तेमाल कर सकते हैं
एपीआई, ताकि यह पता लगाया जा सके कि ऐप्लिकेशन Android Automotive OS पर चल रहा है या नहीं. इसके लिए, जांच करें
के लिए
FEATURE_AUTOMOTIVE
सुविधा, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
Kotlin
val packageManager: PackageManager = ... // Get a PackageManager from a Context val isCar = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) if (isCar) { // Enable or disable a given feature }
Java
PackageManager packageManager = ... // Get a PackageManager from a Context boolean isCar = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) if (isCar) { // Enable or disable a given feature }
इसके अलावा, अगर आपके ऐप्लिकेशन में Android Auto का कॉम्पोनेंट भी है, तो CarConnection API का इस्तेमाल Android for Cars ऐप्लिकेशन की लाइब्रेरी से यह पता लगाया जा सकता है कि ऐप्लिकेशन को Android Automotive OS या Android Auto पर चल रहे हों—या कनेक्ट न होने पर कार तक लाने की कोशिश कर रहे हैं.
पिक्चर में पिक्चर (पीआईपी) की सुविधा के लिए, सबसे सही तरीकों का इस्तेमाल करके पता लगाएं कि सुविधा मौजूद हो और उस पर सही तरीके से प्रतिक्रिया दी जा सके.
ऑफ़लाइन स्थितियों को मैनेज करना
इंटरनेट का इस्तेमाल लगातार बढ़ता जा रहा है. इसलिए, ऐसे ऐप्लिकेशन का सुझाव दिया जाता है बिना इंटरनेट कनेक्शन के चलने लगेगा, जैसे कि नीचे दिए गए मामलों में:
- उपयोगकर्ता, सदस्यता के तहत मिलने वाले मोबाइल डेटा से ऑप्ट आउट कर सकते हैं कार बनाने वाली कंपनी का कोई पैकेज.
- हो सकता है कि कुछ इलाकों में मोबाइल डेटा का ऐक्सेस सीमित हो.
- वाई-फ़ाई रेडियो वाली कारें, वाई-फ़ाई रेंज से बाहर हो सकती हैं या कोई OEM शायद मोबाइल नेटवर्क के लिए वाई-फ़ाई बंद कर दें.
अपने ऐप्लिकेशन में इन स्थितियों के लिए, ग्रेसफ़ुल तरीके से डिग्रेड करने के लिए तैयार रहें ऐसी सुविधाएं जो इंटरनेट ऐक्सेस पर निर्भर करती हैं. जैसे, ऑफ़लाइन सामग्री. ज़्यादा जानकारी के लिए, विज्ञापन को ऑप्टिमाइज़ करने के सबसे सही तरीके देखें नेटवर्किंग.
वैकल्पिक संसाधनों का इस्तेमाल करें
अपने ऐप्लिकेशन को कारों के हिसाब से ऑप्टिमाइज़ करने के लिए, car
रिसॉर्स क्वालीफ़ायर का इस्तेमाल करके जानकारी दी जा सकती है
वैकल्पिक संसाधन
Android Automotive OS की गाड़ी में काम करते समय. उदाहरण के लिए, अगर आपको
स्टोर करने के लिए डाइमेंशन संसाधन
पैडिंग वैल्यू है, तो car
संसाधन सेट के लिए बड़ी वैल्यू का इस्तेमाल किया जा सकता है,
टच टारगेट को बड़ा कर सकता है.
अपना ऐप्लिकेशन वितरित करें
जब आप कार ऐप्लिकेशन की क्वालिटी के लिए दिशा-निर्देशों के मुताबिक अपने ऐप्लिकेशन की जांच कर लें, तो कैटगरी और यह Android Automotive OS का बनाया हुआ होता है. इसमें सभी ज़रूरी बदलाव किए जाते हैं, ताकि कैटगरी में शामिल किया जाता है, तो उसे Automotive OS के डिवाइस के नाप या आकार के ट्रैक पर पब्लिश किया जा सकता है. Play Store पर टैप करें. कार के लिए Android ऐप्लिकेशन वितरित करें देखें पर जाकर, पब्लिश करने की प्रोसेस के बारे में ज़्यादा जानें.
पार्क किए गए ऐप्लिकेशन के बारे में सुझाव, शिकायत या राय भेजना
अपनी कार को पार्क करते समय कोई समस्या आने पर या किसी सुविधा का अनुरोध करने पर ऐप्लिकेशन है, तो उसकी शिकायत करने के लिए इसका इस्तेमाल करें: Google समस्या को ट्रैक करने वाला टूल. समस्या वाले टेंप्लेट में मांगी गई पूरी जानकारी भरना न भूलें. इस तारीख से पहले कोई नई समस्या दर्ज करें, फिर देखें कि क्या यह पहले से ही समस्याओं की सूची में रिपोर्ट की गई है. आपने लोगों तक पहुंचाया मुफ़्त में में दिख रही समस्या के लिए स्टार पर क्लिक करके सदस्य बनें और समस्याओं के लिए वोट करें का पता लगाने के लिए किया जा सकता है. ज़्यादा जानकारी के लिए, यह देखें किसी समस्या के लिए सदस्यता लेना.