वार्तालाप सूचनाएं और विजेट

एंड्रॉइड 11 प्राथमिकता और चेतावनी स्तर के आधार पर नोटिफिकेशन शेड पर वार्तालाप सूचनाओं के व्यवहार और प्लेसमेंट को अनुकूलित करने के लिए समर्थन जोड़ता है, जिससे वार्तालापों को महत्वपूर्ण के रूप में चिह्नित किया जा सकता है और वार्तालाप स्पेस में वार्तालाप विशिष्ट बुलबुले लॉन्च किए जा सकते हैं।

इन Android 11 सुविधाओं के आधार पर, Android 12 दो नई वार्तालाप सुविधाएँ प्रदान करता है:

  • सेटिंग्स में हालिया वार्तालाप सुविधा उपयोगकर्ताओं को अधिसूचना की प्रतीक्षा किए बिना हाल की बातचीत के लिए अधिसूचना व्यवहार को अनुकूलित करने में सक्षम बनाती है।

  • वार्तालाप विजेट सुविधा उपयोगकर्ताओं को हाल की बातचीत का त्वरित दृश्य देते हुए, होम स्क्रीन पर आसानी से चैट खोलने में सक्षम बनाती है।

यह दस्तावेज़ वार्तालाप सूचनाओं और विजेट्स के कार्यान्वयन, अनुकूलन और सत्यापन पहलुओं का वर्णन करता है।

वार्तालाप अधिसूचनाओं का अवलोकन

एंड्रॉइड 11 एक नया सिस्टम प्रिमिटिव, कन्वर्सेशन पेश करता है, जिसे मौजूदा शेयरिंग शॉर्टकट ऑब्जेक्ट (जिसे एंड्रॉइड 9 के साथ रोल आउट किया गया था) द्वारा दर्शाया गया है।

वार्तालाप आदिम का उपयोग इस प्रकार किया जा सकता है:

  • शेयरशीट (पहले से ही एंड्रॉइड 10 में) के माध्यम से पूरे सिस्टम में ऐप्स के बीच वार्तालाप डेटा साझा करने के लिए।

  • बुलबुले चलाने के लिए (एंड्रॉइड 11 में शॉर्टकट )। चित्र 1 देखें।

  • अधिसूचना शेड के शीर्ष पर नए वार्तालाप स्थान में भाग लेने के लिए (एंड्रॉइड 11 में लागू)। चित्र 2 देखें।

  • वार्तालाप विजेट बनाने के लिए (एंड्रॉइड 12 में लागू)।

    conv_bubbles

    चित्र 1: अधिसूचना ड्रॉअर से अधिसूचना को बुलबुले के रूप में लॉन्च किया जा रहा है

    conv_notification

    चित्र 2: अधिसूचना शेड के शीर्ष पर स्थित वार्तालाप स्थान

वार्तालाप का प्रतिनिधित्व करने वाले शॉर्टकट से लिंक करने के अलावा, अधिसूचना वार्तालाप स्थान में वार्तालाप के अंतिम संदेश को शामिल करने के लिए मैसेजिंग स्टाइल का भी उपयोग करती है।

जीएमएस भागीदारों को निम्नलिखित लागू करना आवश्यक है:

  • अधिसूचना शेड के शीर्ष पर एक अलग अनुभाग के रूप में एक नया वार्तालाप स्थान।
  • एक अधिसूचना शैली जो वार्तालाप विशिष्ट बबल पैटर्न की अनुमति देती है और उसका समर्थन करती है।

वार्तालापों को क्रियान्वित करने वाले साझेदारों को महत्वपूर्ण वार्तालापों को भी क्रियान्वित करना आवश्यक है। हालाँकि, वार्तालापों के कार्यान्वयन को समान प्रकृति की ओईएम अवधारणाओं के साथ जोड़ा जा सकता है। कुल मिलाकर, साझेदारों को वार्तालाप अनुभाग को अपने विशिष्ट सिस्टम यूआई के साथ संरेखित करने की स्वतंत्रता है। भागीदार को HAL/ड्राइवर/कर्नेल कोड/एक्सटेंशन को संशोधित या कार्यान्वित करने की आवश्यकता नहीं है।

AOSP में SystemUI और PeopleService अनुभाग में निम्नलिखित संदर्भ कार्यान्वयन देखें:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

मान्यकरण

यह सुनिश्चित करने के लिए कि सुविधा का आपका संस्करण अपेक्षा के अनुरूप काम करता है, निम्नलिखित को सत्यापित करें:

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

  2. वार्तालाप विशिष्ट बुलबुले काम कर रहे हैं।

कार्यान्वयन को मान्य करने के लिए, अधिसूचना पैकेज में निम्नलिखित परीक्षणों का उपयोग करें:

  • सीटीएस परीक्षण.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • सीटीएस सत्यापनकर्ता परीक्षण।

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

वार्तालाप विजेट का अवलोकन

एंड्रॉइड 12 में, वार्तालाप विजेट सुविधा एंड्रॉइड 11 में बनाए गए वार्तालाप अभ्यावेदन पर आधारित है (जैसा कि पिछले अनुभाग में वर्णित है) ऐप्स को उन वार्तालापों के लिए स्थिति प्रदान करने की अनुमति देता है जो वार्तालाप विजेट में प्रदर्शित होते हैं।

conv_widgets

चित्र 3: वार्तालाप विजेट में प्रदर्शित वार्तालाप

एंड्रॉइड 12 में वार्तालाप विजेट सुविधा उपयोगकर्ताओं को होम स्क्रीन पर आसानी से चैट खोलने की अनुमति देकर कनेक्शन को बढ़ावा देती है। विजेट उन्नत शॉर्टकट हैं जो उपयोगकर्ताओं को वार्तालाप स्थितियों के स्निपेट दिखाते हुए कुशलतापूर्वक अपनी बातचीत पर वापस जाने की अनुमति देते हैं।

साझेदार को निम्नलिखित कार्यान्वित करना होगा:

  1. SystemUI द्वारा प्रदान किया गया एक विजेट।
  2. विजेट चयन स्क्रीन से इन विजेट्स को जोड़ने का एक प्रवाह।
  3. विजेट का आकार बदलने के लिए समर्थन इस प्रकार है:
    • जब उपयोगकर्ता लेआउट आकार बदलता है या लैंडस्केप में घूमता है तो लेआउट को बेहतर आकार के लेआउट में बदलने के लिए onAppWidgetOptionsChanged() का उपयोग करें।
    • अपने विजेट आकार परिवर्तनों को सही ढंग से बाध्य करने के लिए maxResizeHeight , maxResizeWidth , minWidth , minHeight , minResizeWidth , minResizeHeight का उपयोग करें।

वार्तालाप विजेट लागू करते समय निम्नलिखित निर्भरताओं से अवगत रहें:

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

SystemUI और लॉन्चर3 फ़ाइलों में निम्नलिखित संदर्भ कार्यान्वयन देखें:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

अनुकूलन

वार्तालाप विजेट सुविधा को चालू या बंद नहीं किया जा सकता. हालाँकि, जब तक जीएमएस आवश्यकताएँ पूरी होती हैं, तब तक एक भागीदार विजेट टेम्प्लेट के लेआउट को बदल सकता है।

मान्यकरण

यह सुनिश्चित करने के लिए कि सुविधा का आपका संस्करण अपेक्षा के अनुरूप काम करता है, निम्नलिखित को सत्यापित करें:

  1. लॉन्चर पर लंबे समय तक प्रेस करने पर, विजेट पिकर के माध्यम से वार्तालाप के लिए एक नया वार्तालाप विजेट जोड़ा जा सकता है। विजेट पिकर यूआई के लिए चित्र 4 देखें:

    widget_picker

    चित्र 4: एक नया वार्तालाप विजेट जोड़ने के लिए विजेट पिकर यूआई

  2. चयनित वार्तालाप से डिवाइस पर सूचनाएं भेजने पर, विजेट को उन सूचनाओं को प्रतिबिंबित करने के लिए अपडेट किया जाता है।

  3. ConversationStatus एपीआई का उपयोग करके उस वार्तालाप में स्थितियाँ लागू करने पर, विजेट उन स्थितियों को दर्शाता है।

  4. उपयोगकर्ता विजेट का आकार बदल सकते हैं और विजेट अपने वर्तमान लॉन्चर के आधार पर अपना आकार बदल सकते हैं। आपके विजेट लेआउट को विभिन्न उपकरणों पर विभिन्न लॉन्चर आकारों और विजेट का आकार बदलने पर अच्छी तरह से काम करना चाहिए।

कार्यान्वयन को मान्य करने के लिए, अधिसूचना पैकेज में निम्नलिखित परीक्षणों का उपयोग करें:

  • एपीआई सतहों के लिए सीटीएस परीक्षण (पीपलमैनेजरटेस्ट)।

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • जीएमएस आवश्यकता के लिए मैनुअल परीक्षण - वार्तालाप।