Android 11 में, सूचनाओं के शेड में बातचीत की सूचनाओं के व्यवहार और जगह को पसंद के मुताबिक बनाने की सुविधा जोड़ी गई है. इस सुविधा की मदद से, प्राथमिकता और सूचना देने के लेवल के हिसाब से सूचनाओं को शेड में दिखाया जा सकता है. साथ ही, बातचीत को 'अहम' के तौर पर मार्क किया जा सकता है. इसके अलावा, बातचीत के हिसाब से बबल भी लॉन्च किए जा सकते हैं.
Android 11 की इन सुविधाओं के आधार पर, Android 12 में बातचीत से जुड़ी दो नई सुविधाएं जोड़ी गई हैं:
सेटिंग में मौजूद हाल ही की बातचीत की सुविधा की मदद से, उपयोगकर्ता हाल ही की बातचीत के लिए, नोटिफ़िकेशन के व्यवहार को अपनी पसंद के मुताबिक बना सकते हैं. इसके लिए, उन्हें किसी नोटिफ़िकेशन का इंतज़ार नहीं करना पड़ता.
बातचीत विजेट की सुविधा की मदद से, उपयोगकर्ता होम स्क्रीन पर चैट को आसानी से खोल सकते हैं. साथ ही, हाल ही की बातचीत की झलक भी देख सकते हैं.
इस दस्तावेज़ में, बातचीत की सूचनाओं और विजेट को लागू करने, उन्हें पसंद के मुताबिक बनाने, और उनकी पुष्टि करने के बारे में बताया गया है.
बातचीत से जुड़ी सूचनाओं के बारे में खास जानकारी
Android 11 में, बातचीत के तौर पर एक नया सिस्टम प्राइमिटिव जोड़ा गया है. इसे मौजूदा शॉर्टकट ऑब्जेक्ट के ज़रिए दिखाया जाता है. इस ऑब्जेक्ट को Android 9 के साथ लॉन्च किया गया था.
बातचीत के प्राइमिटिव का इस्तेमाल इस तरह किया जा सकता है:
Sharesheet की मदद से, पूरे सिस्टम में मौजूद ऐप्लिकेशन के बीच बातचीत का डेटा शेयर करने के लिए. यह सुविधा 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/ड्राइवर/कर्नल कोड में बदलाव करने या उसे लागू करने की ज़रूरत नहीं है.
- 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 की ज़रूरी शर्तों के लिए मैन्युअल टेस्ट - बातचीत.