बातचीत से जुड़ी सूचनाएं और विजेट

Android 11 में, सूचनाएं दिखाने वाली जगह पर, बातचीत से जुड़ी सूचनाओं के व्यवहार और प्लेसमेंट को प्राथमिकता और अलर्ट के लेवल के हिसाब से पसंद के मुताबिक बनाने की सुविधा जोड़ी गई है. इससे, बातचीत को 'अहम' के तौर पर मार्क किया जा सकता है. साथ ही, बातचीत के लिए खास बबल बातचीत वाले स्पेस में लॉन्च किए जा सकते हैं.

Android 11 की इन सुविधाओं के आधार पर, Android 12 में बातचीत से जुड़ी दो नई सुविधाएं जोड़ी गई हैं:

  • सेटिंग में मौजूद, हाल ही में हुई बातचीत की सुविधा की मदद से, उपयोगकर्ता हाल ही में हुई बातचीत के लिए सूचनाएं पाने की सेटिंग को पसंद के मुताबिक बना सकते हैं. इसके लिए, उन्हें सूचना मिलने का इंतज़ार नहीं करना पड़ता.

  • बातचीत वाले विजेट की सुविधा की मदद से, उपयोगकर्ता होम स्क्रीन पर आसानी से चैट खोल सकते हैं. इससे, हाल ही में हुई बातचीत की झलक दिखती है.

इस दस्तावेज़ में, बातचीत से जुड़ी सूचनाओं और विजेट को लागू करने, उन्हें पसंद के मुताबिक बनाने, और उनकी पुष्टि करने के बारे में बताया गया है.

बातचीत से जुड़ी सूचनाओं की खास जानकारी

Android 11 में, बातचीत के लिए एक नया सिस्टम प्रिमिटिव जोड़ा गया है. इसे, शेयर करने के मौजूदा शॉर्टकट ऑब्जेक्ट से दिखाया जाता है. यह ऑब्जेक्ट, Android 9 के साथ लॉन्च किया गया था.

बातचीत वाले प्रिमिटिव का इस्तेमाल इन तरीकों से किया जा सकता है:

बातचीत के शॉर्टकट से लिंक करने के अलावा, सूचना में 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/

सत्यापन

यह पक्का करने के लिए कि सुविधा का आपका वर्शन, उम्मीद के मुताबिक काम कर रहा है या नहीं, इन बातों की पुष्टि करें:

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

  2. बातचीत के लिए खास बबल काम कर रहे हैं.

सुविधा को लागू करने की पुष्टि करने के लिए, सूचना वाले पैकेज में ये टेस्ट करें:

  • सीटीएस टेस्ट.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • सीटीएस की पुष्टि करने वाले टूल के टेस्ट.

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

बातचीत वाले विजेट की खास जानकारी

Android 12 में, बातचीत वाले विजेट की सुविधा, Android 11 में बनाई गई बातचीत के आधार पर काम करती है. जैसा कि पिछले सेक्शन में बताया गया है. इसकी मदद से, ऐप्लिकेशन उन बातचीत की स्थिति दिखा सकते हैं जो बातचीत वाले विजेट में दिखती हैं.

conv_widgets

तीसरी इमेज: बातचीत वाले विजेट में दिखाई जा रही बातचीत

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

पार्टनर को ये काम करने होंगे:

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

बातचीत वाले विजेट लागू करते समय, इन डिपेंडेंसी के बारे में जानें:

  • पार्टनर को HAL/ड्राइवर/कर्नल कोड में बदलाव करने या उन्हें लागू करने की ज़रूरत नहीं होती.
  • सुविधा को लागू करने के लिए, स्टेटस एपीआई का इस्तेमाल किया जाता है. इसकी मदद से, ऐप्लिकेशन किसी बातचीत और उससे जुड़े विजेट में, स्टेटस या उपलब्धता की जानकारी जोड़ सकते हैं.
  • नए डिवाइसों पर सुविधा लागू करने और अपग्रेड लागू करने, दोनों के लिए एक ही प्रोसेस होती है.
  • बातचीत वाले विजेट की सुविधा, 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 की ज़रूरी शर्तें पूरी होने पर, पार्टनर विजेट टेंप्लेट के लेआउट बदल सकता है.

सत्यापन

यह पक्का करने के लिए कि सुविधा का आपका वर्शन, उम्मीद के मुताबिक काम कर रहा है या नहीं, इन बातों की पुष्टि करें:

  1. लॉन्चर पर लंबे समय तक दबाने पर, विजेट पिकर की मदद से, बातचीत के लिए बातचीत वाला नया विजेट जोड़ा जा सकता है. विजेट पिकर यूज़र इंटरफ़ेस (यूआई) के लिए, चौथी इमेज देखें:

    widget_picker

    चौथी इमेज: बातचीत वाला नया विजेट जोड़ने के लिए, विजेट पिकर यूज़र इंटरफ़ेस (यूआई)

  2. चुनी गई बातचीत से डिवाइस पर सूचनाएं भेजने पर, विजेट अपडेट हो जाता है, ताकि उन सूचनाओं को दिखाया जा सके.

  3. उस बातचीत में स्टेटस लागू करने के लिए ConversationStatus एपीआई का इस्तेमाल करने पर, विजेट उन स्टेटस को दिखाता है.

  4. उपयोगकर्ता विजेट का साइज़ बदल सकते हैं. साथ ही, विजेट अपने मौजूदा लॉन्चर के हिसाब से अपना साइज़ बदल सकते हैं. आपके विजेट के लेआउट, अलग-अलग डिवाइसों पर अलग-अलग लॉन्चर के साइज़ के साथ-साथ, विजेट का साइज़ बदलने पर भी सही तरीके से काम करने चाहिए.

सुविधा को लागू करने की पुष्टि करने के लिए, सूचना वाले पैकेज में ये टेस्ट करें:

  • एपीआई सर्फ़ेस के लिए, सीटीएस टेस्ट (PeopleManagerTest).

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • GMS की ज़रूरी शर्त - बातचीत के लिए, मैन्युअल टेस्ट.