एचएमआई सिंहावलोकन

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

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

शब्दावली

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

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

अनुकूलन

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

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

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

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

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

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

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

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

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

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

सिस्टम थीम

वह विषय जो रंग और पाठ शैलियों जैसे आइटमों के सिस्टम-व्यापी डिफ़ॉल्ट सेट को निर्धारित करता है, डिवाइस डिफॉल्ट है। ओईएम को डिवाइस डिफॉल्ट थीम को संशोधित करके समग्र अनुकूलन प्रक्रिया शुरू करने के लिए प्रोत्साहित किया जाता है। डिफ़ॉल्ट रूप से, सिस्टम यूआई, और एओएसपी में सभी सिस्टम ऐप्स, इस थीम से प्राप्त होते हैं। ओईएम-विकसित सिस्टम ऐप्स को भी डिवाइसडिफॉल्ट को इनहेरिट करने के लिए प्रोत्साहित किया जाता है। तृतीय-पक्ष विकसित ऐप्स से डिवाइसडिफॉल्ट को इनहेरिट करने की अपेक्षा नहीं की जाती है, बल्कि इसके बजाय 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

सिस्टम यूआई

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

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

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

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

होम स्क्रीन

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

सूचनाएं

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

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

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

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

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

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

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

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

अनुकूलन

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

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 ) एक सेटिंग्स स्क्रीन होस्ट करता है जिसे मुख्य सेटिंग्स ऐप से लिंक किया जाना चाहिए, तो अलग एप्लिकेशन को गतिशील रूप से इंजेक्ट किया जा सकता है। अधिक जानकारी के लिए, डायनामिक प्राथमिकताएँ देखें।

मिडिया

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

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

अनुकूलन

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

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

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

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