अपने ऐप्लिकेशन को Android Auto या Android Automotive OS पर चलने वाली गाड़ियों पर ले जाएं. एक ऐसा ऐप्लिकेशन आर्किटेक्चर इस्तेमाल करें जो दोनों मामलों में काम करता हो, ताकि हर उपयोगकर्ता आपके ऐप्लिकेशन का आनंद ले सके है.
कार के लिए Android क्या है?
कार में इस्तेमाल होने वाले मीडिया ऐप्लिकेशन में ये काम किए जा सकते हैं उपयोगकर्ताओं को उनके डिजिटल जीवन को बिना किसी रुकावट के कारें. फ़ोन के लिए बने ऐप्लिकेशन को ही कार के लिए उपलब्ध कराने से, उपयोगकर्ता अनुभव को बेहतर बनाएं. ऐसा करने के लिए, Android Auto या Android Automotive OS.
कार के लिए बने Android ऐप्लिकेशन को इस बात से बचना चाहिए कि ड्राइवर का ध्यान न भटके. आप बोलकर निर्देश देने जैसे सबसे सही तरीके अपनाकर, ध्यान भटकाने वाली चीज़ों को कम करें और एक बहुत ही व्यावहारिक विज़ुअल डिज़ाइन. इस तरह, आपका मीडिया ऐप्लिकेशन ये दिखा सकता है ड्राइवर को समय पर जानकारी, सिर्फ़ तब उपलब्ध कराई जा सकती है, जब वह काम की हो और उसके इस्तेमाल के बारे में पहले से अनुमान लगाया जा सकता हो सामान्य कामों के लिए पैटर्न.
Android Auto
Android Auto, उन लोगों को ड्राइवर के लिए बेहतरीन ऐप्लिकेशन अनुभव देता है जिनके पास Android Auto की सुविधा वाला Android फ़ोन, जिसमें Android Auto ऐप्लिकेशन हो. साथ ही, इस सुविधा के साथ काम करने वाली कार या आफ़्टरमार्केट स्टीरियो सिस्टम. ये काम करके, दर्शक सीधे अपनी कार के डिसप्ले पर आपके ऐप्लिकेशन का इस्तेमाल कर सकते हैं उनके फ़ोन को कनेक्ट कर रहा है. आपने Android Auto को अपने फ़ोन ऐप्लिकेशन से कनेक्ट करने की सुविधा चालू की है ड्राइवर के लिए ऑप्टिमाइज़ की गई सेवाएं दिखाने के लिए Android Auto का इस्तेमाल करके एक नया इंटरफ़ेस बन जाता है.
Android Automotive OS
Android Automotive OS, सूचना और मनोरंजन की सुविधा देने वाला Android पर आधारित एक सिस्टम है. यह डिवाइस वाहन हैं. कार का सिस्टम, Android पर चलने वाला ऐसा डिवाइस है जो इसे ड्राइविंग के हिसाब से ऑप्टिमाइज़ किया गया है. Android Automotive OS की मदद से, लोग आपका ऐप्लिकेशन इंस्टॉल करते हैं फ़ोन के बजाय, सीधे कार में बात कर सकते हैं.
इस्तेमाल किए जा सकने वाले ऐप्लिकेशन की कैटगरी
मीडिया ऐप्लिकेशन, लोगों को संगीत, रेडियो, ऑडियो बुक, और अन्य ऑडियो ब्राउज़ करने और चलाने की सुविधा देते हैं कार में कॉन्टेंट रखा जाता है. ज़्यादा जानकारी के लिए, यह देखें कार के लिए ऑडियो प्लेबैक ऐप्लिकेशन बनाएं. ज़्यादा जानकारी यहां भी उपलब्ध है कार के लिए मीडिया ऐप्लिकेशन बनाएं.
मीडिया ऐप्लिकेशन MediaLibraryService
का इस्तेमाल करके बनाए गए हैं
और MediaSession
.
Android पर
Automotive OS, साइन इन करने और सेटिंग स्क्रीन बनाने की सुविधा देता है. इसका इस्तेमाल तब किया जा सकता है, जब
पार्क किया गया हो) का उपयोग करता है.
वीडियो ऐप्लिकेशन की मदद से, उपयोगकर्ता कार पार्क होने पर भी स्ट्रीम किए जा रहे वीडियो देख सकते हैं. मुख्य इन ऐप्लिकेशन का मकसद स्ट्रीमिंग वीडियो दिखाना है. इन ऐप्लिकेशन को बनाया गया है लिखें या व्यू का इस्तेमाल करें. ज़्यादा जानकारी के लिए, यह देखें Android Automotive OS के लिए, वीडियो चलाने की सुविधा देने वाले ऐप्लिकेशन बनाएं. ज़्यादा जानकारी यहां उपलब्ध है Android Automotive OS के लिए वीडियो ऐप्लिकेशन बनाएं.
कार के लिए ऑडियो प्लेबैक ऐप्लिकेशन बनाएं
यह गाइड मानती है कि आपके पास पहले से ही एक बेसिक मीडिया प्लेबैक ऐप्लिकेशन है. अगर नहीं, शुरू करने के लिए, इस लिंक पर जाएं कोई बेसिक मीडिया प्लेयर ऐप्लिकेशन बनाएं.
इस गाइड में बताया गया है कि आपको क्या करना होगा. साथ ही, इसमें दिए लिंक भी शामिल हैं खास दिशा-निर्देशों के साथ और संसाधन उपलब्ध कराए जाएंगे.
प्लेबैक कॉम्पोनेंट
मीडिया3 में वीडियो चलाने के इस्तेमाल के हिसाब से, कई अहम कॉम्पोनेंट मिलते हैं. क्लास अगर आपने पहले से ही इन कॉम्पोनेंट पर काम किया है, तो आपको इनके बारे में पता होगा पिछली Android मीडिया लाइब्रेरी.
यह डायग्राम दिखाता है कि ये कॉम्पोनेंट, सामान्य ऐप.
ज़्यादा जानकारी के लिए, वीडियो चलाने के कॉम्पोनेंट देखें.
MediaLibraryService
और MediaLibrarySession
को लागू करना
MediaLibraryService
यह आपकी मीडिया लाइब्रेरी को दिखाने और उसे ऐक्सेस करने की अनुमति देने के लिए, स्टैंडर्ड एपीआई उपलब्ध कराता है.
Android Auto या Android Automotive के लिए सहायता जोड़ते समय यह ज़रूरी है
ओएस का इस्तेमाल करें, क्योंकि ये प्लैटफ़ॉर्म अपना खुद का ड्राइवर-सेफ़ यूज़र इंटरफ़ेस (यूआई) देते हैं
आपकी मीडिया लाइब्रेरी के लिए. लागू करने और इस्तेमाल करने के बारे में ज़्यादा जानकारी पाने के लिए
MediaLibraryService
, देखें
MediaLibraryService के साथ कॉन्टेंट उपलब्ध कराएं.
प्लेबैक कंट्रोल के लिए, मीडिया सेशन का इस्तेमाल करें. MediaSession
एपीआई,
ऑडियो या वीडियो प्लेयर के साथ इंटरैक्ट करने का यूनिवर्सल तरीका. The Jetpack Media3
लाइब्रेरी में MediaLibrarySession
शामिल है, जो जोड़ने के लिए MediaSession
तक बढ़ाए जाते हैं
कॉन्टेंट ब्राउज़िंग एपीआई.
मीडिया सेशन को प्लेयर से कनेक्ट करने पर, ऐप्लिकेशन डाउनलोड किया जा सकता है मीडिया प्लेबैक का विज्ञापन बाहरी तौर पर देते हैं और प्लेबैक निर्देश पाने के लिए बाहरी सोर्स, जैसे कि Android Auto, Android Automotive OS या Google Assistant पर टैप करें. ज़्यादा जानकारी के लिए, यह देखें मीडिया सेशन का इस्तेमाल करके, वीडियो चलाने की सुविधा को कंट्रोल करना और उसका विज्ञापन देना और MediaLibraryसेशन का इस्तेमाल करें.
आपके मीडिया सेशन में, कम से कम इस प्लेयर के साथ काम करने का एलान होना चाहिए आदेश:
प्लेबैक कंट्रोल चालू करें गाइड उन तरीकों के बारे में बताता है जिनसे कार में प्लेबैक कंट्रोल को अपनी पसंद के मुताबिक बनाया जा सकता है.
जब Android Auto या Android Automotive OS आपके ऐप्लिकेशन से कनेक्ट होता है, तो वे
कॉन्टेंट लाइब्रेरी दिखाने की सुविधा, जो onGetLibraryRoot()
कॉलबैक को ट्रिगर करती है
तरीका. रूट मीडिया आइटम को तुरंत वापस करके
लाइब्रेरी. onGetChildren()
कॉलबैक तरीका तब कॉल किया जाता है, जब Android Auto या
Android Automotive OS, आपके कॉन्टेंट को ज़्यादा बारीकी से ब्राउज़ करने की कोशिश कर रहा है
लाइब्रेरी.
ये प्लैटफ़ॉर्म अतिरिक्त आपकी कॉन्टेंट लाइब्रेरी को मैनेज करने की सीमाएं एक स्ट्रक्चर है. अपनी कॉन्टेंट लाइब्रेरी के दिखने का तरीका पसंद के मुताबिक बनाने के बारे में जानकारी पाने के लिए, देखें अपनी मीडिया ब्राउज़र सेवा बनाना पढ़ें.
Android Auto के लिए सहायता पाने का एलान करना
इस मेनिफ़ेस्ट एंट्री का इस्तेमाल करके, यह बताएं कि आपका फ़ोन ऐप्लिकेशन काम करता है Android Auto:
<application>
...
<meta-data android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc"/>
...
</application>
इस मेनिफ़ेस्ट एंट्री का मतलब ऐसी एक्सएमएल फ़ाइल से है जो यह बताती है कि Automotive
और टूल जो आपके ऐप्लिकेशन में काम करते हैं. यह बताने के लिए कि आपका एक मीडिया ऐप्लिकेशन है,
आपकी res/xml/
डायरेक्ट्री में automotive_app_desc.xml
नाम की एक्सएमएल फ़ाइल
प्रोजेक्ट. इस फ़ाइल में नीचे दिए गए कॉन्टेंट शामिल होने चाहिए:
<automotiveApp>
<uses name="media"/>
</automotiveApp>
Android Automotive OS के लिए सहायता का एलान करें
आपको एक ऑटोमोटिव मॉड्यूल बनाना होगा, क्योंकि आपके ऐप्लिकेशन में मौजूद सभी लॉजिक ऐसा नहीं कर सकते वाहन संबंधित ऐप्लिकेशन के साथ शेयर किया जा सकता है. Android Automotive OS के कुछ कॉम्पोनेंट, जैसे अलग-अलग प्लैटफ़ॉर्म के लिए ज़रूरी शर्तें पूरी करनी होंगी. ऐसा मॉड्यूल बनाएं जो इन कॉम्पोनेंट के कोड को अपने प्रोजेक्ट के दूसरे कोड से अलग रखें, जैसे कि आपके मोबाइल ऐप्लिकेशन के लिए इस्तेमाल किया गया कोड.
अपने प्रोजेक्ट में Automotive मॉड्यूल जोड़ने के लिए, यह तरीका अपनाएं:
- Android Studio में, फ़ाइल > नया > नया मॉड्यूल.
- Automotive Module को चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
- ऐप्लिकेशन/लाइब्रेरी का नाम डालें. लोगों को यह नाम दिखता है Android Automotive OS पर आपका ऐप्लिकेशन.
- मॉड्यूल का नाम डालें.
- पैकेज के नाम में बदलाव करें, ताकि वह आपके ऐप्लिकेशन के हिसाब से हो.
कम से कम SDK टूल के लिए, एपीआई 28: Android 9.0 (पाई) चुनें. इसके बाद, क्लिक करें आगे बढ़ें पर टैप करें.
Android Automotive OS के साथ काम करने वाली सभी कारें, Android 9 (एपीआई लेवल 28) पर चलती हैं या ज़्यादा है, इसलिए इस मान को चुनने से सभी को टारगेट किया जाता है इन कार के साथ काम करता है.
कोई गतिविधि नहीं को चुनें और फिर पूरा करें पर क्लिक करें.
Android Studio में मॉड्यूल बनाने के बाद, AndroidManifest.xml
को इसमें खोलें
आपका नया ऑटोमोटिव मॉड्यूल:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.media">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" />
<uses-feature
android:name="android.hardware.type.automotive"
android:required="true" />
</manifest>
application
एलिमेंट में ऐप्लिकेशन की कुछ स्टैंडर्ड जानकारी के साथ-साथ
uses-feature
ऐसा एलिमेंट जो Android Automotive OS के साथ काम करता है. ध्यान दें कि
मेनिफ़ेस्ट में किसी गतिविधि के बारे में नहीं बताया गया है.
सेटिंग या साइन-इन गतिविधियां लागू करने पर, उन्हें यहां जोड़ें. ये गतिविधियां सिस्टम, अश्लील कॉन्टेंट का इस्तेमाल करके ट्रिगर करता है इंटेंट के साथ-साथ सिर्फ़ ऐसी गतिविधियों के बारे में भी बताया जाता है जिनके बारे में मेनिफ़ेस्ट में बताया जाता है Android Automotive OS ऐप्लिकेशन.
कोई भी सेटिंग या साइन-इन गतिविधियां जोड़ने के बाद, इस तरीके से अपनी मेनिफ़ेस्ट फ़ाइल पूरी करें
application
एलिमेंट में android:appCategory="audio"
एट्रिब्यूट सेट करना
साथ ही, ये uses-feature
एलिमेंट भी जोड़े जा सकते हैं:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.media"> <application android:allowBackup="true" android:appCategory="audio" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" /> <uses-feature android:name="android.hardware.type.automotive" android:required="true" /> <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" /> </manifest>
इन सुविधाओं को साफ़ तौर पर required="false"
पर सेट करने से यह पक्का होता है कि
आपके ऐप्लिकेशन का Automotive OS में उपलब्ध हार्डवेयर की सुविधाओं में कोई समस्या नहीं है
डिवाइस.
आपके ऐप्लिकेशन पर Android काम करता है, यह एलान करने के लिए यहां दी गई मेनिफ़ेस्ट एंट्री का इस्तेमाल करें वाहन संबंधित ओएस:
<application>
...
<meta-data android:name="com.android.automotive"
android:resource="@xml/automotive_app_desc"/>
...
</application>
इस मेनिफ़ेस्ट एंट्री का मतलब ऐसी एक्सएमएल फ़ाइल से है जो Automotive के बारे में जानकारी देती है जो आपके ऐप्लिकेशन पर काम करते हैं.
यह बताने के लिए कि आपके पास मीडिया ऐप्लिकेशन है, नाम की एक्सएमएल फ़ाइल जोड़ें
आपके प्रोजेक्ट की res/xml/
डायरेक्ट्री में automotive_app_desc.xml
. शामिल करें
इस फ़ाइल में नीचे दी गई सामग्री है:
<automotiveApp>
<uses name="media"/>
</automotiveApp>
इंटेंट फ़िल्टर
Android Automotive OS, आपके मीडिया में गतिविधियां ट्रिगर करने के लिए, अश्लील इंटेंट का इस्तेमाल करता है
है. ऐसी कोई भी गतिविधि शामिल न करें
CATEGORY_LAUNCHER
या ACTION_MAIN
इंटेंट
मेनिफ़ेस्ट फ़ाइल में फ़िल्टर.
नीचे दिए गए उदाहरण में ऐसी गतिविधियां आम तौर पर किसी फ़ोन या कुछ को टारगेट करती हैं अन्य मोबाइल डिवाइस. इन गतिविधियों के बारे में उस मॉड्यूल में बताएं जो फ़ोन ऐप्लिकेशन में होना चाहिए, न कि उस मॉड्यूल में जो आपका Android Automotive OS ऐप्लिकेशन बनाता है.
<activity android:name=".MyActivity">
<intent-filter>
<!-- You can't use either of these intents for Android Automotive OS -->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!--
In their place, you can include other intent filters for any activities
that your app needs for Android Automotive OS, such as settings or
sign-in activities.
-->
</intent-filter>
</activity>
आगे के चरण
अब आपके पास Android Auto और Android Automotive OS के लिए एक ऐप्लिकेशन है, तो आपके ऐप्लिकेशन को ऑप्टिमाइज़ करने के लिए कुछ और कदम उठाने होंगे, ताकि आप अपने ऐप्लिकेशन का सुरक्षित तरीके से इस्तेमाल कर सकें ड्राइविंग. उपयोगकर्ता को सुरक्षित और आसान बनाने के मकसद से ज़्यादा सुझावों के लिए तो इस लेख में आगे की जानकारी बोलकर फ़ोन का इस्तेमाल, लोगों के ध्यान भटकने से रोकने के लिए उपाय, और गड़बड़ियां ठीक करना.
Android Automotive OS के लिए, वीडियो चलाने की सुविधा देने वाले ऐप्लिकेशन बनाएं
वीडियो ऐप्लिकेशन, कार में मौजूद मीडिया ऐप्लिकेशन से अलग कैटगरी में रखे जाते हैं. इसलिए, आपको यह करना होगा आपको वीडियो ऐप्लिकेशन की कुछ खास शर्तों के बारे में जानकारी होनी चाहिए. Android Automotive OS के लिए, पार्क किए गए ऐप्लिकेशन बनाना और Android Automotive OS के लिए वीडियो ऐप्लिकेशन बनाएं. इसके लिए, आपको यहां दिए गए निर्देशों का पालन करना होगा.
अपने ऐप्लिकेशन को वीडियो ऐप्लिकेशन के तौर पर मार्क करना
आपके ऐप्लिकेशन में वीडियो चलाने की सुविधा है, यह बताने के लिए
automotive_app_desc.xml
को आपके प्रोजेक्ट की res/xml/ डायरेक्ट्री में जोड़ें. इसमें
फ़ाइल में, नीचे दिया गया कॉन्टेंट शामिल करें:
<automotiveApp>
<uses name="video"/>
</automotiveApp>
इसके बाद, अपने मेनिफ़ेस्ट के application
एलिमेंट में ये चीज़ें जोड़ें
एक्सएमएल फ़ाइल का रेफ़रंस देने वाला meta-data
एलिमेंट:
<meta-data android:name="com.android.automotive"
android:resource="@xml/automotive_app_desc"/>