लोग और बातचीत

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

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

बातचीत का स्पेस


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

किसी सूचना को बातचीत की सूचना तब माना जाता है, जब ये बातें सही हों:

  • सूचना में MessagingStyle का इस्तेमाल किया गया है.

  • (सिर्फ़ तब, जब ऐप्लिकेशन Android 11 या इसके बाद के वर्शन को टारगेट करता हो) सूचना, लंबे समय तक काम करने वाले मान्य डाइनैमिक या कैश मेमोरी में सेव किए गए शेयर करने के शॉर्टकट से जुड़ी हो. सूचना, setShortcutId() या setShortcutInfo() को कॉल करके, इस असोसिएशन को सेट कर सकती है. अगर ऐप्लिकेशन Android 10 या उससे पहले के वर्शन के लिए है, तो सूचना को किसी शॉर्टकट से जोड़ना ज़रूरी नहीं है. इस बारे में फ़ॉलबैक विकल्प सेक्शन में बताया गया है.

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

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

डिवाइस पर मौजूद बुद्धिमान सुविधा से यह तय होता है कि उपयोगकर्ता को किन बातचीत में दिलचस्पी हो सकती है. सबसे अहम सिग्नल में, हर बातचीत में बातचीत के सेशन की तारीख और फ़्रीक्वेंसी शामिल है. अगर सूचनाओं या लॉन्चर के शॉर्टकट में बातचीत को सही तरीके से टैग किया गया है, तो सिस्टम को उससे जुड़े इंटरैक्शन के बारे में पता चलता है. हालांकि, जब तक उन इंटरैक्शन को भी टैग नहीं किया जाता, तब तक सिस्टम को ऐप्लिकेशन में पूरी तरह से हुई बातचीत के बारे में पता नहीं चलता. इसलिए, हमारा सुझाव है कि आप शॉर्टकट में 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 न भेजें. इसका एक उदाहरण, ऐप्लिकेशन को ऐसे व्यू में खोलने पर सूचना रद्द करना है जहां उपयोगकर्ता मैसेज को देख या उस पर कार्रवाई नहीं कर सकता. अगर उपयोगकर्ता को मैसेज पढ़ने या उस पर कार्रवाई करने का मौका नहीं दिया जाता है, तो रद्द की गई सूचना और उससे जुड़ा बबल हटा दिया जाता है. इससे बातचीत का कॉन्टेक्स्ट हट जाता है.
  • मैसेज से जुड़े MIME से जुड़े मेटाडेटा के लिए, data यूआरआई दें. इससे आपको नोटिफ़िकेशन में बेहतर अनुभव देने का विकल्प मिलता है.
  • बातचीत वाले विजेट को ज़्यादा दिलचस्प बनाने के लिए, Android 12 status एपीआई का इस्तेमाल करें.
  • बातचीत के लिए शॉर्टकट बनाने के लिए, यहां दिए गए सबसे सही तरीके अपनाएं.
    • इन-ऐप्लिकेशन बातचीत के लिए शॉर्टकट पब्लिश करें. इन बातचीत के लिए, पुश नोटिफ़िकेशन नहीं भेजे जाते. एक ही बातचीत के इनकमिंग और आउटगोइंग मैसेज का शॉर्टकट आईडी एक ही होना चाहिए. अपने शॉर्टकट पब्लिश करने और उनके इस्तेमाल की रिपोर्ट पाने के लिए, pushDynamicShortcut() का इस्तेमाल करें.
    • अपने शॉर्टकट अवतार को गलती से काटे जाने से बचाने के लिए, शॉर्टकट के आइकॉन के लिए कोई AdaptiveIconDrawable उपलब्ध कराएं. ज़्यादा जानकारी के लिए, शॉर्टकट इमेज उपलब्ध कराना लेख पढ़ें.
    • सिस्टम को आपके शॉर्टकट का प्रमोशन करने में मदद करने के लिए, सबसे अच्छी रैंकिंग पाने के दिशा-निर्देशों का पालन करें. आपके शॉर्टकट को सिस्टम के अलग-अलग प्लैटफ़ॉर्म पर रैंक किया जाता है. अगर यह शेयर करने वाला शॉर्टकट है, तो इसमें Android शेयरशीट भी शामिल है.
    • पक्का करें कि बातचीत के शॉर्टकट intents सीधे उस बातचीत में खुलें जिस पर लागू होते हैं.
    • अपने शॉर्टकट को conversation से जुड़े के तौर पर आसानी से सेट करने के लिए, compat libs का इस्तेमाल करें.

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

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

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

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

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

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

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

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

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

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

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

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

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

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