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

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

Android 11 में उपलब्ध इन सुविधाओं के साथ-साथ, Android 12 में बातचीत से जुड़ी दो नई सुविधाएं भी मिलती हैं:

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

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

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

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

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

Conversations प्रिमिटिव का इस्तेमाल इस तरह किया जा सकता है:

  • सिस्टम के सभी ऐप्लिकेशन के बीच बातचीत का डेटा शेयर करने के लिए, शेयरशीट का इस्तेमाल किया जाता है. यह सुविधा Android 10 में पहले से मौजूद है.

  • ड्राइविंग बबल के लिए(Android 11 में शॉर्टकट). पहली इमेज देखें.

  • सूचना पैनल के सबसे ऊपर मौजूद नए बातचीत वाले स्पेस में हिस्सा लेने के लिए (Android 11 में लागू किया गया). दूसरी इमेज देखें.

  • बातचीत वाले विजेट बनाने के लिए (Android 12 में लागू किया गया).

    conv_bubbles

    पहली इमेज: सूचना पैनल से बबल के तौर पर लॉन्च की जा रही सूचना

    conv_notification

    दूसरी इमेज: सूचना शेड के सबसे ऊपर मौजूद बातचीत वाला स्पेस

बातचीत के शॉर्टकट से लिंक करने के अलावा, सूचना में MessagingStyle का भी इस्तेमाल किया जाता है, ताकि बातचीत के आखिरी मैसेज को बातचीत वाले स्पेस में शामिल किया जा सके.

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

  • सूचना शेड में सबसे ऊपर, बातचीत के लिए नया स्पेस अलग सेक्शन के तौर पर दिखेगा.
  • सूचना की ऐसी स्टाइल जो बातचीत के हिसाब से बबल पैटर्न को अनुमति देती है और उसका साथ देती है.

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

Validation

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

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

Validation

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

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

    widget_picker

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

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

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

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

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

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

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