लोग और बातचीत

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

लोगों और बातचीत की सुविधा को बेहतर बनाने के लिए, Android 11 में कई नई सुविधाएं जोड़ी गई हैं.

बातचीत वाला सेक्शन


बातचीत वाला स्पेस, सूचनाओं के लिए बनाया गया एक खास सेक्शन होता है. इसमें इंसानों के बीच रीयल-टाइम में होने वाली बातचीत की सूचनाएं दिखती हैं.
पहली इमेज: बातचीत वाला सेक्शन.

हाथ में पकड़कर इस्तेमाल किए जाने वाले डिवाइसों पर, सूचना शेड में सबसे ऊपर एक अलग सेक्शन होता है. इसमें सिर्फ़ लोगों के साथ रीयल-टाइम में होने वाली बातचीत दिखती है. जैसे, कॉल और चैट मैसेज. इनमें ग्रुप चैट भी शामिल हैं. कई फ़ोन पर, इस सेक्शन में दिखने वाली सूचनाएं, बातचीत से जुड़ी सूचनाओं से अलग दिखती हैं और अलग तरीके से काम करती हैं:

  • इन सूचनाओं का डिज़ाइन अलग होता है. इनमें, बातचीत करने वाले लोगों के अवतार पर ज़्यादा ज़ोर दिया जाता है. साथ ही, बातचीत करने वाले ऐप्लिकेशन का नाम भी दिखता है.
  • सूचना पर टैप करने से, ऐप्लिकेशन में बातचीत खुल जाती है. अगर बातचीत पहले से बबल में है, तो सूचना पर टैप करने से बबल खुल जाता है. कैरेट पर टैप करने से, शेड में नए मैसेज पूरी लंबाई में दिखते हैं. साथ ही, विकल्पों की पूरी सूची भी दिखती है.
  • बातचीत के हिसाब से कार्रवाइयां उपलब्ध होती हैं. इनमें से कुछ कार्रवाइयां, सूचना को दबाकर रखने पर दिखती हैं:
    • इस बातचीत को प्राथमिकता के तौर पर मार्क करें
    • इस बातचीत को बबल में दिखाएं. यह विकल्प सिर्फ़ तब दिखता है, जब ऐप्लिकेशन बबल की सुविधा के साथ काम करता हो
    • इस बातचीत के लिए सूचनाएं म्यूट करें
    • इस बातचीत के लिए, आवाज़ या वाइब्रेशन की सेटिंग अपनी पसंद के मुताबिक करें

बबल में बातचीत

अगर कोई सूचना, बातचीत की ज़रूरी शर्तों को पूरा करती है, तो प्लैटफ़ॉर्म उसे सूचना पैनल से बबल के तौर पर लॉन्च करता है.
दूसरी इमेज: सूचना ड्रॉअर से बबल के तौर पर लॉन्च की जा रही सूचना.

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

बातचीत के शॉर्टकट

बातचीत के शॉर्टकट, लॉन्चर में दिखते हैं. साथ ही, शेयरशीट में, हमेशा मौजूद रहने वाले शेयरिंग शॉर्टकट, के साथ भी दिखते हैं.

एपीआई के लिए दिशा-निर्देश

इस सेक्शन में, उन एपीआई के बारे में बताया गया है जिनकी मदद से, आपके ऐप्लिकेशन में सिस्टम की ओर से उपलब्ध कराए गए उस सेक्शन के लिए सहायता जोड़ी जा सकती है जिसमें लोग और बातचीत दिखती है.

बातचीत के शॉर्टकट

बातचीत पर फ़ोकस करने वाली इस पहल में हिस्सा लेने के लिए, ऐप्लिकेशन को सिस्टम को हमेशा मौजूद रहने वाले शॉर्टकट उपलब्ध कराने होंगे. हमारा सुझाव है कि हमेशा मौजूद रहने वाले शेयरिंग शॉर्टकट का इस्तेमाल करें. ज़रूरत पड़ने पर, Android 11 में डाइनैमिक शॉर्टकट इस्तेमाल किए जा सकते हैं. हालांकि, हम आने वाले समय में यह विकल्प हटा सकते हैं.

बातचीत का शॉर्टकट पब्लिश करने के लिए, ShortcutManagerCompat के setDynamicShortcuts(), addDynamicShortcuts(), या pushDynamicShortcut() तरीके इस्तेमाल करें. यह तरीका, डेवलपर के लिए शॉर्टकट की सीमा को अपने-आप मैनेज करता है. यह शॉर्टकट हमेशा मौजूद रहने वाला होना चाहिए. साथ ही, इसमें एक या उससे ज़्यादा लोगों का Person डेटा अटैच होना चाहिए. इससे बातचीत में शामिल अन्य लोगों की पहचान होती है. हमारा सुझाव है कि आप LocusIdCompat भी सेट करें.

अगर कोई बातचीत अब मौजूद नहीं है, तो ऐप्लिकेशन, removeLongLivedShortcuts() की मदद से शॉर्टकट मिटा सकता है. ऐसा करने पर, सिस्टम बातचीत से जुड़ा सारा डेटा मिटा देता है. शॉर्टकट मिटाए जा सकते हैं. हालांकि, ऐप्लिकेशन को कैश किए गए शॉर्टकट नहीं मिटाने चाहिए जब तक कि ऐसा करना ज़रूरी न हो. किसी शॉर्टकट को शायद इसलिए कैश किया जाता है, क्योंकि उपयोगकर्ता ने अपने अनुभव को बदलने के लिए उससे इंटरैक्ट किया था. शॉर्टकट मिटाने से वे बदलाव वापस हो जाएंगे. इससे उपयोगकर्ता को परेशानी होगी.

बातचीत से जुड़ी सूचनाएं

किसी सूचना को बातचीत से जुड़ी सूचना तब माना जाता है, जब ये शर्तें पूरी होती हैं:

LocusIdCompat का इस्तेमाल करना

डिवाइस पर मौजूद इंटेलिजेंस से यह पता चलता है कि उपयोगकर्ता को किन बातचीत में दिलचस्पी होने की संभावना सबसे ज़्यादा है. सबसे अहम सिग्नल में, हर बातचीत में हाल ही में हुई बातचीत और बातचीत की फ़्रीक्वेंसी शामिल हैं. अगर लॉन्चर शॉर्टकट या सूचना में बातचीत को सही तरीके से टैग किया गया है, तो सिस्टम को बातचीत के साथ हुए इंटरैक्शन के बारे में पता चलता है. हालांकि, सिस्टम को उन बातचीत के बारे में पता नहीं चलता जो पूरी तरह से ऐप्लिकेशन में हुई हैं. ऐसा तब तक होता है, जब तक उन इंटरैक्शन को भी टैग न किया गया हो. इसलिए, हमारा सुझाव है कि शॉर्टकट में LocusIdCompat अटैच करें. साथ ही, ऐप्लिकेशन में मौजूद गतिविधि या फ़्रैगमेंट को उससे जुड़े LocusIdCompat से एनोटेट करें. LocusIdCompat का इस्तेमाल करके, सुझाव देने वाले सिस्टम को बातचीत को सही तरीके से रैंक करने की अनुमति दें. साथ ही, सिस्टम को बातचीत के साथ उपयोगकर्ता के लास्ट इंटरैक्शन (ऐप्लिकेशन में मौजूद इंटरैक्शन भी शामिल हैं) का सही समय दिखाने की अनुमति दें. अगर बातचीत को किसी शॉर्टकट से जोड़ने के लिए, setShortcutInfo() का इस्तेमाल किया जाता है, तो बातचीत का सिस्टम सही LocusIdCompat को अपने-आप अटैच कर देता है.

Android 10 या इससे पुराने वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, बातचीत वाले सेक्शन की ज़रूरी शर्तें

अगर कोई ऐप्लिकेशन, Android 11 को टारगेट नहीं करता है, तब भी उसके मैसेज, बातचीत वाले सेक्शन में दिख सकते हैं. हालांकि, ऐप्लिकेशन को कुछ ज़रूरी शर्तें पूरी करनी होंगी. इस सेक्शन में, उन ऐप्लिकेशन के लिए ज़रूरी शर्तों और उन ऐप्लिकेशन के लिए फ़ॉलबैक के तरीके के बारे में बताया गया है जो ज़रूरी शर्तें पूरी नहीं करते हैं.

मैसेज वाले सेक्शन में हिस्सा लेने के लिए, सबसे अहम शर्त यह है कि ऐप्लिकेशन में MessagingStyle सूचनाएं लागू होनी चाहिए. साथ ही, सूचनाओं में एक हमेशा मौजूद रहने वाले शॉर्टकट का रेफ़रंस होना चाहिए. यह शॉर्टकट, सूचना पोस्ट करते समय पब्लिश किया जाता है. इन ज़रूरी शर्तों को पूरा करने वाली सूचनाएं, बातचीत वाले सेक्शन में इस तरह दिखती हैं:

  • सूचना बातचीत वाले स्टाइल में दिखती है
  • अगर लागू किया गया है, तो बबल बटन उपलब्ध होता है
  • बातचीत के हिसाब से फ़ंक्शन इनलाइन उपलब्ध होते हैं

अगर सूचना इन ज़रूरी शर्तों को पूरा नहीं करती है, तो प्लैटफ़ॉर्म, सूचना को फ़ॉर्मैट करने के लिए फ़ॉलबैक विकल्पों का इस्तेमाल करता है. अगर कोई सूचना, फ़ॉलबैक के किसी भी मामले की ज़रूरी शर्तें पूरी करती है, तो वह बातचीत वाले सेक्शन में खास फ़ॉर्मैटिंग के साथ दिखती है. अगर सूचना, फ़ॉलबैक के किसी भी विकल्प के लिए ज़रूरी शर्तें पूरी नहीं करती है, तो वह बातचीत वाले सेक्शन में नहीं दिखती है.

फ़ॉलबैक: अगर MessagingStyle का इस्तेमाल किया गया है, लेकिन कोई शॉर्टकट उपलब्ध नहीं कराया गया है

अगर ऐप्लिकेशन, Android 10 या इससे पुराने वर्शन को टारगेट करता है और किसी सूचना में MessagingStyle का इस्तेमाल किया गया है, लेकिन मैसेज को किसी शॉर्टकट से नहीं जोड़ा गया है, तो सूचना बातचीत वाले सेक्शन में इस तरह दिखती है:

  • सूचना बातचीत वाले स्टाइल में दिखती है
  • बबल बटन उपलब्ध नहीं होता है
  • बातचीत के हिसाब से फ़ंक्शन इनलाइन उपलब्ध नहीं होते हैं

फ़ॉलबैक: अगर MessagingStyle का इस्तेमाल नहीं किया गया है, लेकिन ऐप्लिकेशन को मैसेजिंग ऐप्लिकेशन के तौर पर पहचाना जाता है

अगर किसी सूचना में MessagingStyle का इस्तेमाल नहीं किया गया है, लेकिन प्लैटफ़ॉर्म ने ऐप्लिकेशन को मैसेजिंग ऐप्लिकेशन के तौर पर पहचाना है और सूचना का category पैरामीटर msg, पर सेट है, तो सूचना, बातचीत वाले सेक्शन में इस तरह दिखती है:

  • सूचना Android 11 से पहले वाले पुराने स्टाइल में दिखती है
  • बबल बटन उपलब्ध नहीं होता है
  • बातचीत के हिसाब से फ़ंक्शन इनलाइन उपलब्ध नहीं होते हैं

दिशा-निर्देश, इस्तेमाल करने का तरीका, और जांच करना

इस सेक्शन में, बातचीत की सुविधाओं को इस्तेमाल करने और उनकी जांच करने के बारे में सामान्य दिशा-निर्देश दिए गए हैं.

मुझे बातचीत की सुविधाओं का इस्तेमाल कब करना चाहिए?

बातचीत से जुड़ी सूचनाएं और उनसे जुड़े शॉर्टकट, रीयल-टाइम में होने वाली बातचीत के उपयोगकर्ता अनुभव को बेहतर बनाने के लिए हैं. उदाहरण के लिए, एसएमएस, टेक्स्ट चैट, और फ़ोन कॉल, रीयल-टाइम में होने वाली बातचीत हैं. इनमें उपयोगकर्ता, तुरंत बातचीत करने की उम्मीद करते हैं. ईमेल और बातचीत से जुड़ी नहीं गतिविधियों के मामले में, उपयोगकर्ताओं को ऐसी उम्मीद नहीं होती है.

हमने उपयोगकर्ताओं को, बातचीत वाले सेक्शन से किसी बातचीत को हटाने की सुविधा दी है. ऐसा तब किया जा सकता है, जब उन्हें लगता है कि वह बातचीत सही सेक्शन में नहीं है.

सबसे सही तरीके

उपयोगकर्ताओं की दिलचस्पी बढ़ाने और उन्हें अपने ऐप्लिकेशन के ज़रिए लोगों से बातचीत करने और बातचीत की सुविधाओं का इस्तेमाल करने में मदद करने के लिए, हमारा सुझाव है कि इन सबसे सही तरीकों को अपनाएं.

  • यह पक्का करने के लिए कि मिस्ड कॉल, प्राथमिकता वाली बातचीत के शेड में दिखें और कन्वर्ज़न विजेट में सही तरीके से दिखें, मिस्ड कॉल की सूचनाओं को conversations के तौर पर फ़ॉर्मैट करें. साथ ही, कैटगरी को CATEGORY_MISSED_CALL पर सेट करें.
  • उपयोगकर्ताओं के लिए, बेहतर क्वालिटी वाले अवतार (104dp) उपलब्ध कराएं. ऐसा न करने पर, सिस्टम व्यक्ति के नाम के पहले अक्षर का इस्तेमाल करता है. इससे उपयोगकर्ता अनुभव बेहतर नहीं होता.
  • उपयोगकर्ता के मैसेज देखने से पहले, बातचीत की सूचना को cancel a न करें. इसका एक उदाहरण यह है कि ऐप्लिकेशन को ऐसे व्यू में खोलने पर सूचना रद्द कर दी जाए जहां उपयोगकर्ता मैसेज को देख या उसका जवाब नहीं दे सकता. अगर उपयोगकर्ता को मैसेज पढ़ने या उसका जवाब देने का मौका नहीं मिलता है, तो रद्द की गई सूचना और उससे जुड़ा बबल हटा दिया जाता है. इससे बातचीत का कॉन्टेक्स्ट खत्म हो जाता है.
  • मैसेज से जुड़े एमआईएमई मेटाडेटा के लिए, data यूआरआई उपलब्ध कराएं. इससे आपको सूचनाओं में बेहतर अनुभव देने का विकल्प मिलता है.
  • बातचीत वाले विजेट को ज़्यादा दिलचस्प बनाने के लिए, Android 12 status एपीआई का इस्तेमाल करें.
  • बातचीत के शॉर्टकट के लिए, इन सबसे सही तरीकों को अपनाएं.
    • ऐप्लिकेशन में होने वाली उन बातचीत के शॉर्टकट पब्लिश करें जिनके लिए पुश नोटिफ़िकेशन नहीं भेजे जाते. एक ही बातचीत के लिए, आने वाले और भेजे जाने वाले मैसेज का शॉर्टकट आईडी एक ही होना चाहिए. अपने शॉर्टकट पब्लिश करने और इस्तेमाल की रिपोर्ट करने के लिए, pushDynamicShortcut() का इस्तेमाल करें.
    • शॉर्टकट के अवतार को अनजाने में क्लिप होने से बचाने के लिए, शॉर्टकट के आइकॉन के लिए AdaptiveIconDrawable उपलब्ध कराएं. ज़्यादा जानकारी के लिए, शॉर्टकट की इमेज उपलब्ध कराना लेख पढ़ें.
    • सिस्टम को आपके शॉर्टकट का प्रमोशन करने में मदद करने के लिए, सबसे अच्छी रैंकिंग पाने के दिशा-निर्देशों का पालन करें. आपके शॉर्टकट को अलग-अलग सिस्टम इंटरफ़ेस पर रैंक किया जाता है. इनमें Android शेयरशीट भी शामिल है. हालांकि, यह शेयरिंग शॉर्टकट होना चाहिए.
    • पक्का करें कि बातचीत के शॉर्टकट के intents सीधे उस बातचीत को लॉन्च करें जिस पर वे लागू होते हैं.
    • अपने शॉर्टकट को conversation से जुड़ा बताने के लिए, कंपैट लाइब्रेरी का इस्तेमाल करें.

बातचीत से जुड़ी सूचनाओं और शॉर्टकट की जांच करना

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

बातचीत वाले सेक्शन के दिशा-निर्देशों का पालन करने पर, बातचीत बातचीत वाले सेक्शन में अपने-आप दिखनी चाहिए. सूचना को दबाकर रखकर, यह पुष्टि की जा सकती है कि शॉर्टकट को सही तरीके से इंटिग्रेट किया गया है या नहीं. अगर इंटिग्रेशन सही तरीके से किया गया है, तो यूज़र इंटरफ़ेस (यूआई) में बातचीत से जुड़ी कार्रवाइयां दिखती हैं. अगर सूचना, किसी शॉर्टकट से लिंक नहीं है, तो यूज़र इंटरफ़ेस (यूआई) में यह टेक्स्ट दिखता है कि ऐप्लिकेशन, बातचीत की सुविधाओं के साथ काम नहीं करता.

जोड़े गए शॉर्टकट ऐप्लिकेशन लॉन्चर को दबाकर रखने पर दिखते हैं. पक्का करें कि शॉर्टकट, आपको ऐप्लिकेशन में सही जगह पर ले जाते हों.

शेयरिंग शॉर्टकट की मदद से शेयर किए जा सकने वाले कॉन्टेंट को शेयर करते समय, शेयरशीट की डायरेक्ट शेयर वाली लाइन में, जोड़े गए शेयरिंग शॉर्टकट दिखते हैं.

बातचीत वाले विजेट

बातचीत वाले विजेट में दिखाई गई बातचीत
पहली इमेज: बातचीत वाले विजेट में दिखने वाली बातचीत.

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

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

पुष्टि करें कि आपका ऐप्लिकेशन, बातचीत वाले विजेट के साथ काम करता है

यह पुष्टि करने के लिए कि आपका ऐप्लिकेशन, बातचीत वाले विजेट के साथ काम करता है, आपके पास कम से कम दो Android डिवाइस होने चाहिए. दोनों डिवाइसों पर Android 12 चलना चाहिए. साथ ही, मैसेज भेजने और पाने के लिए, दो उपयोगकर्ता खाते होने चाहिए. हर डिवाइस पर एक खाता होना चाहिए. इस प्रोसेस के लिए, हम खातों को “उपयोगकर्ता A” और “उपयोगकर्ता B” कहेंगे.

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

यहां बताया गया तरीका अपनाएं:

  1. उपयोगकर्ता A के डिवाइस पर, लॉन्चर को दबाकर रखें. विजेट पिकर में, बातचीत के लिए नया विजेट पर टैप करें. जैसा कि दूसरी इमेज में दिखाया गया है.
  2. विजेट को खींचकर होम स्क्रीन पर ले जाएं. उपयोगकर्ता A के ऐप्लिकेशन से, चालू या हाल ही में हुई बातचीत की सूची चुनी जा सकती है.
  3. अब, उपयोगकर्ता B के डिवाइस पर, उपयोगकर्ता A को टेस्ट मैसेज भेजें.
  4. उपयोगकर्ता A के डिवाइस पर वापस जाएं और पुष्टि करें कि विजेट, उपयोगकर्ता B के मैसेज की सूचना को दिखाने के लिए अपडेट हो गया है.
  5. ज़रूरी नहीं: उपयोगकर्ता A और उपयोगकर्ता B, दोनों बातचीत की स्थिति को अलग-अलग वैल्यू पर सेट करें, ताकि यह पक्का किया जा सके कि उनके विजेट में सही वैल्यू दिख रही हैं. स्थिति की वैल्यू की सूची देखने के लिए, ConversationStatus देखें.