Android 11 में, सूचनाओं के शेड में बातचीत की सूचनाओं के व्यवहार और जगह को पसंद के मुताबिक बनाने की सुविधा जोड़ी गई है. इस सुविधा की मदद से, प्राथमिकता और सूचना देने के लेवल के हिसाब से सूचनाओं को शेड में दिखाया जा सकता है. साथ ही, बातचीत को 'अहम' के तौर पर मार्क किया जा सकता है. इसके अलावा, बातचीत के हिसाब से बबल भी लॉन्च किए जा सकते हैं.
Android 11 की इन सुविधाओं के आधार पर, Android 12 में बातचीत की दो नई सुविधाएं जोड़ी गई हैं:
सेटिंग में मौजूद हाल ही की बातचीत की सुविधा की मदद से, उपयोगकर्ता किसी सूचना के आने का इंतज़ार किए बिना, हाल ही की बातचीत के लिए सूचना पाने के तरीके को पसंद के मुताबिक बना सकते हैं.
बातचीत विजेट की सुविधा की मदद से, उपयोगकर्ता होम स्क्रीन पर चैट को आसानी से खोल सकते हैं. साथ ही, हाल ही की बातचीत की झलक भी देख सकते हैं.
इस दस्तावेज़ में बातचीत की सूचनाओं और विजेट को लागू करने, उन्हें पसंद के मुताबिक बनाने, और उनकी पुष्टि करने के बारे में बताया गया है.
बातचीत से जुड़ी सूचनाओं के बारे में खास जानकारी
Android 11 में, बातचीत के तौर पर एक नया सिस्टम प्राइमिटिव जोड़ा गया है. इसे मौजूदा शॉर्टकट ऑब्जेक्ट के ज़रिए दिखाया जाता है. इस ऑब्जेक्ट को Android 9 के साथ लॉन्च किया गया था.
बातचीत प्राइमिटिव का इस्तेमाल इस तरह किया जा सकता है:
शेयरशीट की मदद से पूरे सिस्टम में अलग-अलग ऐप्लिकेशन के बीच बातचीत का डेटा शेयर किया जा सकता है. यह डेटा पहले से Android 10 में उपलब्ध है.
बबल्स ड्राइव करने के लिए(Android 11 में शॉर्टकट). पहली इमेज देखें.
सूचना शेड में सबसे ऊपर मौजूद, बातचीत वाले नए स्पेस में हिस्सा लेने के लिए (Android 11 में लागू किया गया). दूसरी इमेज देखें.
बातचीत के विजेट बनाने के लिए (Android 12 में लागू किया गया).
पहली इमेज: सूचना दिखाने वाले पैनल से, सूचना को बबल के तौर पर लॉन्च किया जाना
दूसरी इमेज: सूचना शेड के सबसे ऊपर मौजूद बातचीत वाला स्पेस
बातचीत के शॉर्टकट से लिंक करने के अलावा, सूचना में MessagingStyle का भी इस्तेमाल किया जाता है. इससे बातचीत के आखिरी मैसेज को बातचीत वाले स्पेस में शामिल किया जाता है.
GMS पार्टनर को ये चीज़ें लागू करनी होंगी:
- सूचना शेड में सबसे ऊपर, अलग सेक्शन के तौर पर एक नया बातचीत स्पेस.
- सूचना का ऐसा स्टाइल जो बातचीत के हिसाब से बबल पैटर्न की अनुमति देता है और उससे काम करता है.
बातचीत की सुविधा लागू करने वाले पार्टनर को अहम बातचीत की सुविधा भी लागू करनी होगी. हालांकि, बातचीत की सुविधा को लागू करने के लिए, OEM के मिलते-जुलते कॉन्सेप्ट का इस्तेमाल किया जा सकता है. कुल मिलाकर, पार्टनर को यह आज़ादी होती है कि वे बातचीत वाले सेक्शन को अपने सिस्टम यूआई के साथ अलाइन कर सकते हैं. पार्टनर को 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/
पुष्टि करें
यह पक्का करने के लिए कि सुविधा का आपका वर्शन सही तरीके से काम कर रहा हो, इन बातों की पुष्टि करें:
Conversation API के साथ पूरी तरह काम करने वाले ऐप्लिकेशन को, अपनी सूचनाएं नए सेक्शन में दिखती हैं. साथ ही, वे सामान्य NotificationChannel के बजाय, बातचीत के हिसाब से सूचनाओं को पसंद के मुताबिक बना सकते हैं.
बातचीत के हिसाब से बबल काम कर रहे हैं.
लागू करने की पुष्टि करने के लिए, सूचना पैकेज में इन टेस्ट का इस्तेमाल करें:
सीटीएस टेस्ट.
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
सीटीएस वेरिफ़ायर टेस्ट.
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
बातचीत वाले विजेट के बारे में खास जानकारी
Android 12 में, बातचीत विजेट की सुविधा, Android 11 में बनाई गई बातचीत के प्रज़ेंटेशन पर बेहतर तरीके से काम करती है (जैसा कि पिछले सेक्शन में बताया गया है). इसके तहत, ऐप्लिकेशन को बातचीत विजेट में दिखने वाली बातचीत का स्टेटस बताने की अनुमति दी जाती है.
तीसरी इमेज: बातचीत वाले विजेट में दिखाई गई बातचीत
Android 12 में बातचीत विजेट की सुविधा, उपयोगकर्ताओं को होम स्क्रीन पर चैट आसानी से खोलने की अनुमति देकर, कनेक्टिविटी को बढ़ावा देती है. विजेट, बेहतर शॉर्टकट होते हैं. इनकी मदद से, उपयोगकर्ता अपनी बातचीत पर आसानी से वापस जा सकते हैं. साथ ही, उन्हें बातचीत की स्थिति के स्निपेट भी दिखते हैं.
पार्टनर को ये काम करने होंगे:
- SystemUI से मिला विजेट.
- विजेट चुनने वाली स्क्रीन से इन विजेट को जोड़ने का फ़्लो.
- विजेट का साइज़ बदलने के लिए, यह तरीका अपनाएं:
- जब उपयोगकर्ता लेआउट का साइज़ बदलता है या उसे लैंडस्केप में घुमाता है, तो लेआउट को बेहतर साइज़ में बदलने के लिए,
onAppWidgetOptionsChanged()
का इस्तेमाल करें. - विजेट के साइज़ में किए गए बदलावों को सही तरीके से बांधने के लिए,
maxResizeHeight
,maxResizeWidth
,minWidth
,minHeight
,minResizeWidth
,minResizeHeight
का इस्तेमाल करें.
- जब उपयोगकर्ता लेआउट का साइज़ बदलता है या उसे लैंडस्केप में घुमाता है, तो लेआउट को बेहतर साइज़ में बदलने के लिए,
बातचीत वाले विजेट लागू करते समय, इन डिपेंडेंसी का ध्यान रखें:
- पार्टनर को HAL/driver/kernel कोड में बदलाव करने या उन्हें लागू करने की ज़रूरत नहीं है.
- Status API का इस्तेमाल करके, ऐप्लिकेशन किसी बातचीत और उससे जुड़े विजेट में स्टेटस या उपलब्धता की जानकारी जोड़ सकते हैं.
- नए डिवाइस पर लागू करने और अपग्रेड लागू करने की प्रोसेस एक जैसी है.
- बातचीत वाले विजेट की सुविधा, Android 12 में लॉन्च होने वाली एक नई सुविधा पर निर्भर करती है. यह सुविधा, हाल ही में देखी गई बातचीत को कैश मेमोरी में सेव करती है. उदाहरण के लिए, सूचनाओं से. इस सुविधा की मदद से, उन बातचीत की सूची को बड़ा किया जा सकता है जिन्हें उपयोगकर्ता अपनी होम स्क्रीन पर जोड़ सकता है.
SystemUI और Launcher3 की फ़ाइलों में, यह रेफ़रंस लागू करने का तरीका देखें:
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/
पसंद के मुताबिक बनाएं
बातचीत विजेट की सुविधा को चालू या बंद नहीं किया जा सकता. हालांकि, जब तक GMS की शर्तें पूरी होती हैं, पार्टनर विजेट के टेंप्लेट के लेआउट को बदल सकता है.
पुष्टि करें
यह पक्का करने के लिए कि सुविधा का आपका वर्शन उम्मीद के मुताबिक काम करे, इन चीज़ों की पुष्टि करें:
लॉन्चर पर लंबे समय तक दबाकर रखने पर, विजेट पिकर की मदद से बातचीत के लिए नया बातचीत विजेट जोड़ा जा सकता है. विजेट पिकर के यूज़र इंटरफ़ेस (यूआई) के लिए, चौथा चित्र देखें:
चौथी इमेज: बातचीत वाला नया विजेट जोड़ने के लिए, विजेट पिकर का यूज़र इंटरफ़ेस (यूआई)
चुनी गई बातचीत से डिवाइस पर सूचनाएं भेजने पर, उन सूचनाओं को दिखाने के लिए विजेट को अपडेट कर दिया जाता है.
ConversationStatus
एपीआई का इस्तेमाल करके, बातचीत में स्थितियां लागू करने पर, विजेट उन स्थितियों को दिखाता है.उपयोगकर्ता, विजेट का साइज़ बदल सकते हैं और विजेट अपने मौजूदा लॉन्चर के हिसाब से, अपना साइज़ बदल सकते हैं. आपके विजेट लेआउट, अलग-अलग डिवाइसों पर अलग-अलग लॉन्चर साइज़ के साथ अच्छी तरह काम करने चाहिए. साथ ही, विजेट का साइज़ बदलने पर भी ये लेआउट सही तरीके से काम करने चाहिए.
लागू करने की पुष्टि करने के लिए, सूचना पैकेज में इन जांचों का इस्तेमाल करें:
एपीआई के प्लैटफ़ॉर्म के लिए सीटीएस टेस्ट (PeopleManagerTest).
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
GMS की ज़रूरी शर्तों के लिए मैन्युअल टेस्ट - बातचीत.