एचएमआई अवलोकन

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

  • AOSP होस्ट इंटीग्रेशन गाइड । ऐप होस्ट 3पी कार ऐप्स को अपनी ओर से ओईएम-स्टाइल यूजर इंटरफेस (यूआई) घटकों को प्रस्तुत करने की अनुमति देता है।
  • कार सेटिंग्स संरचना । कार सेटिंग्स ओईएम के लिए एक कार-केंद्रित दृश्य उपयोगकर्ता इंटरफ़ेस, बुनियादी ड्राइवर व्याकुलता अनुकूलन और अतिरिक्त अनुकूलन प्रविष्टि बिंदु प्रदान करती है।
  • कार यूआई लाइब्रेरी इंटीग्रेशन गाइड कार यूआई लाइब्रेरी एक यूआई विकास ढांचा प्रदान करती है ताकि कार में मौजूद सभी ऐप्स को स्थिरता और अनुकूलन प्राप्त करने में सक्षम बनाया जा सके।
  • स्थिति पट्टी प्रणाली चिह्न अनुकूलित करें स्टेटस बार एंड्रॉइड सिस्टम यूआई का एक घटक है जिसका उपयोग उपयोगकर्ताओं को लगातार महत्वपूर्ण जानकारी प्रदर्शित करने के लिए किया जाता है। स्टेटस बार सिस्टम आइकन को कस्टमाइज़ करने का तरीका जानें।
  • हेड-अप सूचनाएं हेड-अप नोटिफिकेशन को कस्टमाइज़ करने का तरीका जानें।
  • डायलर ब्लूटूथ कॉलिंग, कॉन्टैक्ट ब्राउजिंग और कॉल मैनेजमेंट के लिए एक व्याकुलता-अनुकूलित (डीओ) अनुभव को लागू करने के लिए इस एंड्रॉइड सिस्टम ऐप का उपयोग करें।
  • मीडिया केवल कुछ सेटिंग्स और एक सेवा के साथ, डेवलपर्स मौजूदा मीडिया ऐप्स का विस्तार कर सकते हैं। जबकि ऐप्स को ऑटोमोटिव मीडिया टेम्प्लेट का पालन करना चाहिए, डेवलपर एक ब्रांडेड अनुभव बनाने के लिए टेम्प्लेट रंग, फ़ॉन्ट, आइकन और बहुत कुछ कस्टमाइज़ कर सकते हैं।
  • सूचनाएं सूचनाओं के स्वरूप और कॉन्फ़िगरेशन को बदलने का तरीका जानें।

शब्दावली

इन शर्तों का उपयोग एचएमआई और संबंधित लेखों में किया जाता है:

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

अनुकूलन

सिस्टम यूआई और अन्य कोर सिस्टम अनुप्रयोगों का एओएसपी कार्यान्वयन एचएमआई विकास प्रक्रिया शुरू करने के लिए एक मजबूत आधार के रूप में कार्य करता है। ओईएम की ब्रांडिंग, व्यवसाय और कानूनी आवश्यकताओं को पूरा करने के लिए एओएसपी कार्यान्वयन (मुख्य रूप से संसाधन ओवरले के उपयोग के माध्यम से) को संशोधित करने के अभ्यास को अनुकूलन के रूप में संदर्भित किया जाता है।

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

  • सिस्टम यूआई। OEM सीडीडी और सीटीएस और किसी भी अन्य लागू यूएक्स दिशानिर्देशों द्वारा वहन की गई सीमा के भीतर एओएसपी कार्यान्वयन को अनुकूलित या बदल सकता है।

  • गैर-हीरो सिस्टम ऐप्स ( संदर्भ के रूप में भी जाना जाता है) । OEM AOSP कार्यान्वयन को अनुकूलित या प्रतिस्थापित कर सकते हैं।

  • हीरो एप्स । प्रत्येक ऐप विस्तृत अनुकूलन दिशानिर्देशों के एक सेट के साथ आता है। ओईएम को एओएसपी कार्यान्वयन का उपयोग करने के लिए दृढ़ता से प्रोत्साहित किया जाता है और फिर उन दिशानिर्देशों द्वारा वहन की गई सीमा के भीतर इसे अनुकूलित किया जाता है।

घनत्व विन्यास

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

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

UX प्रतिबंध इंजन

CarUxRestrictionsManager एप्लिकेशन को उपयोगकर्ता अनुभव को उचित रूप से संशोधित करने के लिए ड्राइविंग स्थिति से संबंधित परिवर्तनों को सुनने के लिए एक हुक प्रदान करता है। OEM सिस्टम के व्यवहार को प्रभावित करने के लिए packages/services/Car/service/res/xml/car_ux_restrictions_map.xml पर कॉन्फ़िगरेशन फ़ाइल को ओवरले कर सकते हैं।

सिस्टम थीम

रंग और पाठ शैलियों जैसे आइटमों के सिस्टम-व्यापी डिफ़ॉल्ट सेट को निर्धारित करने वाली थीम DeviceDefault है। ओईएम को डिवाइसडिफॉल्ट थीम को संशोधित करके समग्र अनुकूलन प्रक्रिया शुरू करने के लिए प्रोत्साहित किया जाता है। डिफ़ॉल्ट रूप से, सिस्टम UI, और AOSP के सभी सिस्टम ऐप्स, इस थीम से इनहेरिट करते हैं। OEM-विकसित सिस्टम ऐप्स को भी DeviceDefault इनहेरिट करने के लिए प्रोत्साहित किया जाता है। तृतीय-पक्ष विकसित ऐप्स से डिवाइसडिफॉल्ट को इनहेरिट करने की उम्मीद नहीं है, बल्कि इसके बजाय androidx.car लाइब्रेरी में दिए गए Theme.Car का उपयोग करना है। फ़ाइलें निम्नानुसार स्थित हैं:

  • कोर/frameworks/base/core/res/res/values/themes_device_defaults.xml
  • रंग/frameworks/base/core/res/res/values/colors_car.xml
  • शैलियाँ/frameworks/base/core/res/res/values/styles_car.xml
  • कार ओवरले।
    /packages/services/Car/car_product/overlay/.../values/themes_device_defaults.xml

ओईएम से अपेक्षा की जाती है कि उनकी विक्रेता निर्देशिका में car_product निर्देशिका के समानांतर ओवरले संरचना होगी जो car_product ओवरले को और बढ़ाएगी।

थीम खेल का मैदान ऐप

यह ऐप सभी थीम विशेषताओं को एक ही स्थान पर विज़ुअलाइज़ करके DeviceDefault थीम को अनुकूलित करने की प्रक्रिया को सुव्यवस्थित करता है। साथ ही, अन्य सिस्टम ऐप्स की तुलना में इस ऐप में कुछ शैलियों को कैसे प्रस्तुत किया जाता है, इसकी तुलना करके, डेवलपर्स थीम के मुद्दों को जल्दी से डीबग कर सकते हैं। यह ऐप यहां उपलब्ध है:

  /packages/services/Car/tests/ThemePlayground

सिस्टम यूआई

सिस्टम UI में /frameworks/base के अंतर्गत सभी UI शामिल हैं, मुख्य रूप से /frameworks/base/packages/CarSystemUI में। इसमें नेविगेशन बार, स्टेटस बार, लॉक स्क्रीन, वॉल्यूम डायलॉग, टोस्ट, यूजर पिकर और अनुमति डायलॉग शामिल हैं। ओईएम संसाधन ओवरले और थीम के माध्यम से सिस्टम यूआई घटकों को व्यापक रूप से अनुकूलित कर सकते हैं, बशर्ते प्रत्येक सीडीडी, सीटीएस और अन्य लागू यूएक्स दिशानिर्देशों की आवश्यकताओं के भीतर हो।

सिस्टम अनुप्रयोग

एंड्रॉइड ऑटोमोटिव में समग्र सिस्टम कार्यक्षमता के लिए महत्वपूर्ण कोर सिस्टम एप्लिकेशन का एक सेट शामिल है। इनमें से कम्युनिकेशन सेंटर, मीडिया, नोटिफिकेशन और सेटिंग्स को हीरो एप्लीकेशन माना जाता है।

  • संचार केंद्र
  • एचवीएसी
  • आईएमई (कीबोर्ड)
  • लॉन्चर (होम स्क्रीन)
  • स्थानीय मीडिया प्लेयर
  • मीडिया
  • मैसेंजर
  • सूचनाएं
  • रेडियो
  • समायोजन

होम स्क्रीन

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

सूचनाएं

सूचनाएं एंड्रॉइड ओएस का एक अभिन्न अंग हैं और एंड्रॉइड ऑटोमोटिव में समान संरचनाएं (हेड-अप अधिसूचना, अधिसूचना सूची/केंद्र, अधिसूचना एपीआई, रैंकिंग और इनलाइन क्रियाओं सहित) शामिल की गई हैं। विवरण के लिए, हैंडहेल्ड अधिसूचना अवलोकन देखें। ऑटोमोटिव उपयोग के मामलों को अनुकूलित करने के लिए, निम्नलिखित संशोधन किए गए हैं (हैंडहेल्ड अधिसूचना स्टैक की तुलना में):

  • उपयोगकर्ताओं को दिखाई देने वाली संपूर्ण सूचना सामग्री में कमी। चल रहे मीडिया प्लेबैक, चल रहे नेविगेशन, और "महत्वहीन" (कम और नीचे का महत्व) अधिसूचना सूची/केंद्र से सिस्टम ऐप्स की अग्रभूमि सेवा अधिसूचनाओं को हटाना, इस समझ के साथ कि इन अधिसूचनाओं को अनावश्यक बना दिया गया है (उदाहरण के लिए क्लस्टर मीडिया स्थिति दिखा रहा है) ) या उपयोगी नहीं हैं।

  • जटिल प्रासंगिक नियंत्रणों को हटाना (जैसे लंबी प्रेस और स्वाइप-लंबाई-आधारित नियंत्रण)।

  • UX प्रतिबंध इंजन कॉन्फ़िगरेशन का सम्मान करना।

    • संदेश सूचना सामग्री पूर्वावलोकन ड्राइव-स्थिति के आधार पर छुपाया जा सकता है।
    • सभी तार अधिकतम लंबाई पर छाया हुआ है।
  • विशेष रूप से एंड्रॉइड 9 में कारों के लिए नई अधिसूचना श्रेणियों का जोड़, केवल android.uid.system के रूप में चलने वाले बंडल सिस्टम ऐप्स के लिए उपलब्ध है।

  • CATEGORY_CAR_EMERGENCY . अधिसूचना सूची के शीर्ष पर रैंक किया गया। डू-नॉट-डिस्टर्ब (डीएनडी) नियंत्रणों को बायपास करता है।

  • CATEGORY_CAR_WARNING । आपात स्थिति से नीचे और अन्य से ऊपर (डीएनडी को बायपास करता है)।
  • CATEGORY_CAR_INFORMATION . "महत्व" और पुनरावृत्ति के आधार पर बाकी सूचनाओं के साथ रैंक किया गया।

नोटिफिकेशन एपीआई से लेकर यूआई तक नोटिफिकेशन स्टैक का एंड-टू-एंड इम्प्लीमेंटेशन हीरो ऐप माना जाता है। सभी एचयू में लगातार एपीआई इंटरऑपरेबिलिटी की गारंटी देने और अपग्रेडेबिलिटी को अधिकतम करने के लिए, ओईएम को एओएसपी कार्यान्वयन लेने और फिर इसे हल्के ढंग से अनुकूलित करने के लिए दृढ़ता से प्रोत्साहित किया जाता है।

अनुकूलन

मानक DeviceDefault थीमिंग और संसाधन ओवरले लागू होते हैं। व्यवहार अनुकूलन घुंडी की एक बहुत ही सीमित संख्या में उपलब्ध हैं:

packages/apps/Car/Notification/res/values/config.xml

समायोजन

सेटिंग्स एप्लिकेशन ( कार सेटिंग्स ) उन हीरो ऐप में से एक है जो नॉब्स को उजागर करता है, जिसका उपयोग उपयोगकर्ता एंड्रॉइड ओएस और बाकी कार के पहलुओं को कॉन्फ़िगर करने के लिए कर सकता है। सेटिंग्स एप्लिकेशन ओएस में 200 से अधिक सुविधाओं को उजागर करता है, जो प्रत्येक प्रमुख एंड्रॉइड रिलीज के साथ कसकर युग्मित होते हैं। अपग्रेडेबिलिटी को सक्षम करने और विखंडन से बचने के लिए, ओईएम को एओएसपी कार्यान्वयन लेने के लिए दृढ़ता से प्रोत्साहित किया जाता है और फिर इसे अनुकूलित किया जाता है (कार्यान्वयन को फोर्क करने के बजाय)।

अनुकूलन

सेटिंग एप्लिकेशन अनुकूलन को ध्यान में रखता है और अनुकूलन के लिए कई रास्ते खोलता है।

  • थीमिंग। प्रत्येक वरीयता वस्तु प्रकार को कैसे प्रस्तुत किया जाना है, इसके दृश्य अनुकूलन को सक्षम करता है, जिसमें शामिल हैं:

    • Preference.DeviceDefault.CheckBoxPreference

    • Preference.DeviceDefault.DialogPreference.EditTextPreference

  • पदानुक्रम अनुकूलन। सक्षम करने के लिए:

    • एक मनमाना रूट खंड में लॉन्च करें, Settings/res/values/config.xml नामक फ़ाइल में config_settings_hierarchy_root_fragment के मान को ओवरले करें

    • ऑर्डर, ग्रुपिंग, टेक्स्ट और आइकन, ओवरले Settings/res/xml/*.xml जैसी वस्तुओं का अनुकूलन

  • स्थैतिक इंजेक्शन। ओवरले प्रोजेक्ट की स्थापना करते समय, ओईएम परिभाषित करके और फिर पदानुक्रम में अतिरिक्त फ्रैगमेंट और नियंत्रक वर्गों को जोड़कर मालिकाना स्क्रीन जोड़ सकते हैं।

  • गतिशील इंजेक्शन । यदि एक अलग एप्लिकेशन ( apk ) एक सेटिंग स्क्रीन को होस्ट करता है जिसे मुख्य सेटिंग्स ऐप से लिंक किया जाना चाहिए, तो अलग एप्लिकेशन को गतिशील रूप से इंजेक्ट किया जा सकता है। अधिक जानकारी के लिए, गतिशील वरीयताएँ देखें।

मीडिया

Media एक हीरो ऐप है जो MediaSession और MediaBrowser APIs को लागू करने वाले मीडिया अनुप्रयोगों की ओर से फ्रंट-एंड उपयोगकर्ता अनुभव प्रदान करता है। मीडिया एप्लिकेशन तृतीय-पक्ष एप्लिकेशन (जैसे Spotify और भानुमती) के साथ-साथ अन्य मीडिया स्रोत, जैसे ब्लूटूथ (BT) स्ट्रीमिंग और स्थानीय मीडिया हो सकते हैं।

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

अनुकूलन

डिवाइसडिफॉल्ट थीम के माध्यम से मानक थीमिंग मीडिया पर भी लागू होती है। इसके अलावा, संसाधन ओवरले के साथ लुक-एंड-फील का और अधिक अनुकूलन संभव है, बशर्ते अनुकूलन यूएक्स दिशानिर्देशों की सीमा के भीतर हो।

अन्य मीडिया ऐप्स

यूएसबी मीडिया और मीडिया स्रोत

जहां तक ​​संभव हो, इन मीडिया स्रोतों को MediaSession और MediaBrowser APIs के कार्यान्वयन के माध्यम से मीडिया में प्लग इन करने की अत्यधिक अनुशंसा की जाती है (यह किसी भी तृतीय पक्ष मीडिया ऐप के लिए सच है)। AOSP में LocalMediaPlayer ऐप देखें। यह ऐप स्थानीय मीडिया फ़ाइलों को पेश करता है और मीडिया में एक स्रोत के रूप में प्रदर्शित होता है।