लाइव अपडेट की सूचनाएं बनाना

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

पहली इमेज. लाइव अपडेट की सूचना का एक उदाहरण.

प्रमोट की गई सूचनाओं वाले कार्ड, इस तरह दिखते हैं:

  • डिफ़ॉल्ट रूप से, ये कार्ड बड़े दिखते हैं
  • इन्हें छोटा नहीं किया जा सकता

लाइव अपडेट के तौर पर दिखने के लिए, आपकी सूचना इन ज़रूरी शर्तों को पूरा करनी चाहिए:

  • यह स्टैंडर्ड स्टाइल, BigTextStyle, CallStyle, ProgressStyle या MetricStyle में होनी चाहिए.
  • इसे android मैनिफ़ेस्ट android.permission.POST_PROMOTED_NOTIFICATIONS में, रनटाइम के दौरान अनुमति न मांगने वाली इस अनुमति का अनुरोध करना चाहिए.
  • इसे EXTRA_REQUEST_PROMOTED_ONGOING या NotificationCompat.Builder#setRequestPromotedOngoing का इस्तेमाल करके, प्रमोशन का अनुरोध करना चाहिए.
  • इसे ongoing होना चाहिए (इसके लिए, FLAG_ONGOING_EVENT सेट करें).
  • इसमें contentTitle सेट होना चाहिए.
  • इसमें नहीं होना चाहिए. इसका मतलब है कि इसमें customContentView नहीं होना चाहिए.RemoteViews
  • इसे नहीं दिखाना चाहिए. यह किसी ग्रुप की खास जानकारी नहीं है. इसके लिए, setGroupSummary का इस्तेमाल किया गया है.
  • इसे नहीं setColorized को TRUE पर सेट करके दिखाना चाहिए.
  • सूचना चैनल में नहीं होना चाहिए IMPORTANCE_MIN.

प्रमोशन की विशेषताएं

इन एपीआई की मदद से, यह तय किया जा सकता है कि सिस्टम आपकी सूचना को प्रमोट करेगा या नहीं:

  • Notification.FLAG_PROMOTED_ONGOING से पता चलता है कि सूचना को प्रमोट किया गया है या नहीं.
  • Notification.hasPromotableCharacteristics() से यह पुष्टि होती है कि सिस्टम, सूचना को प्रमोट कर सकता है या नहीं. इस तरीके से यह नहीं पता चलता कि उपयोगकर्ता ने सेटिंग में जाकर, ऐप्लिकेशन के लिए लाइव अपडेट की सुविधा बंद की है या नहीं.
  • NotificationManager.canPostPromotedNotifications() से यह पता चलता है कि आपका ऐप्लिकेशन, प्रमोट की गई सूचना पोस्ट कर सकता है या नहीं. उदाहरण के लिए, अगर उपयोगकर्ता ने सेटिंग में जाकर, इस सुविधा को चालू या बंद किया है, तो यह एपीआई इसकी जानकारी देता है.
  • Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS इंटेंट ऐक्शन है. इसकी मदद से, ऐप्लिकेशन उपयोगकर्ताओं को सेटिंग में भेजकर, इस सुविधा को चालू करने के लिए कह सकते हैं.

इस्तेमाल करने के मानदंड

लाइव अपडेट की सुविधा का इस्तेमाल, ऐसी गतिविधियों के लिए करें जो जारी हैं, उपयोगकर्ता ने शुरू की हैं, और समय के हिसाब से अहम हैं.

दूसरी इमेज. आपके डिवाइस की होम और लॉक स्क्रीन पर, लाइव अपडेट और चिप के तौर पर दिखने वाला अपडेट.

जारी है

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

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

  • इनके लिए इस्तेमाल किया जा सकता है: ऐक्टिव नेविगेशन, जारी फ़ोन कॉल, राइडशेयर को ट्रैक करना, और खाने की डिलीवरी को ट्रैक करना.
  • इनके लिए इस्तेमाल नहीं किया जा सकता: विज्ञापन, प्रमोशन, चैट मैसेज, अलर्ट, आने वाले समय में होने वाले Calendar इवेंट, और ऐप्लिकेशन की सुविधाओं को तुरंत ऐक्सेस करने की सुविधा.

उपयोगकर्ता ने शुरू की है

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

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

समय के हिसाब से अहम

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

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

यूएक्स से जुड़े तरीके

स्थिति को दिखाने के लिए, ट्रैकर आइकॉन का इस्तेमाल करें. इसे डाइनैमिक तरीके से अपडेट किया जा सकता है.

प्रोग्रेस बार पर कस्टम ट्रैकर
तीसरी इमेज. कस्टम ट्रैकर आइकॉन.

जब ईटीए की गिनती हो रही हो या यह उपलब्ध न हो, तो खाली स्थिति न दिखाएं. सिस्टम के काम करने की जानकारी देने के लिए, प्लेसहोल्डर के तौर पर "सोच रहा है..." या "रास्ता बदल रहा है..." जैसे टेक्स्ट दिखाएं. उदाहरण के लिए, यहां देखें.

सोचने की प्रोसेस दिखाने के लिए, खाली नहीं है
चौथी इमेज. आपके लाइव अपडेट के लिए, ऐसी स्थिति दिखाएं जिसमें कोई जानकारी मौजूद हो.

स्टेटस चिप

स्टेटस चिप की मदद से, उपयोगकर्ता लाइव अपडेट को ट्रैक कर सकते हैं. ऐसा तब भी किया जा सकता है, जब सूचना दिख नहीं रही हो. प्रोग्रेस पर आधारित सूचना के बारे में अहम जानकारी देने के लिए, setShortCriticalText या setWhen का इस्तेमाल करें.

आइकॉन के साथ स्टेटस चिप
पांचवी इमेज. अनिश्चित स्थिति में, छोटा आइकॉन दिखता है. इसके लिए, Notification.Builder#setSmallIcon का इस्तेमाल करें.
समय के साथ स्टेटस चिप
छठी इमेज. सही समय दिखाने के लिए, Notification.Builder#setShortCriticalText का इस्तेमाल करें.
जानकारी के साथ स्टेटस चिप
सातवीं इमेज. अहम जानकारी देने के लिए, Notification.Builder#setShortCriticalText का इस्तेमाल करें.

समय

जब समय, सूचना के दिखने की अवधि के लिए काउंटडाउन ट्रिगर करता है. हालांकि, ऐसा तब तक होता है, जब तक सूचना खारिज या अपडेट नहीं की जाती. यहां दी गई बुलेट से पता चलता है कि अलग-अलग स्थितियों में, जब समय कैसे काम करता है:

  • जब समय, मौजूदा समय से कम से कम दो मिनट बाद का हो: अगर मौजूदा समय सुबह 10:05 है और जब समय 10:10 सेट किया गया है, तो चिप में 5 मिनट दिखेगा.
  • जब समय, मौजूदा समय से पहले का हो: टेक्स्ट नहीं दिखता.
  • जब समय के लिए क्रोनोमीटर का इस्तेमाल करने पर, चिप में टाइमर दिखाया जा सकता है. setUsesChronometer और setChronometerCountdown देखें. क्रोनोमीटर टाइमर, चिप में तब तक दिखता है, जब तक यह पॉज़िटिव होता है.
  • अगर आपको अपनी सूचना में, जब समय नहीं दिखाना है, तो setShowWhen को FALSE पर सेट करें.

स्टेटस चिप दिखने का तरीका

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

  • अगर टेक्स्ट में सात से कम वर्ण हैं, तो पूरा टेक्स्ट दिखाएं.
  • अगर टेक्स्ट का आधा हिस्सा भी नहीं दिख रहा है, तो सिर्फ़ आइकॉन दिखाएं.
  • अगर टेक्स्ट का आधा हिस्सा दिख रहा है, तो जितना हो सके उतना टेक्स्ट दिखाएं.

Wear OS

लाइव अपडेट, Wear OS से कनेक्ट किए गए कुछ डिवाइसों पर दिखते हैं. इस बारे में जानकारी पाने के लिए कि लाइव अपडेट, Wear OS से कनेक्ट किए गए डिवाइसों पर कैसे दिखते हैं, Wear OS के लिए स्थानीय लाइव अपडेट बनाने का तरीका जानने के लिए, Wear OS के लिए लाइव अपडेट की गाइड देखें.

Dismissal

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

उपयोगकर्ताओं को लाइव अपडेट की सुविधा पूरी तरह से बंद करने से रोकने के लिए, ऐसे अपडेट पोस्ट न करें जिन्हें उपयोगकर्ता खारिज कर सकते हैं. ऐसे लाइव अपडेट फिर से पोस्ट न करें जिन्हें उपयोगकर्ता ने खारिज कर दिया है. खारिज किए गए अपडेट का पता लगाने के लिए, setDeleteIntent का इस्तेमाल करें.

इन एपीआई के साथ एक्सपेरिमेंट करने के लिए, सैंपल ऐप्लिकेशन देखें.

अक्सर पूछे जाने वाले सवाल

सवाल: प्रोग्रेस बार के आखिर में दिखने वाला सफ़ेद बिंदु क्या है?

प्रोग्रेस की सुलभता से जुड़ी जानकारी दिखाने वाले इंडिकेटर का आखिर
आठवीं इमेज. यात्रा के खत्म होने की जानकारी को ऐक्सेस करने की सुविधा

जवाब: प्रोग्रेस बार के आखिर में दिखने वाला सफ़ेद बिंदु, प्रोग्रेस बार के खत्म होने की जानकारी देता है.

सवाल: लाइव अपडेट के लिए, कस्टम सूचनाएं क्यों काम नहीं करती हैं?

जवाब: कस्टम सूचनाओं की वजह से, लगातार टेस्टिंग और यूएक्स मुश्किल हो जाता है. ऐसा इसलिए है, क्योंकि Android के अलग-अलग वर्शन और डिवाइस बनाने वाली कंपनियों के हिसाब से, इनका व्यवहार अलग-अलग होता है. RemoteViews का इस्तेमाल करके, कस्टम सूचनाएं न बनाएं.