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

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

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

प्रमोट किए गए सूचना कार्ड इस तरह दिखते हैं:

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

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

  • यह स्टैंडर्ड स्टाइल, 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 का इस्तेमाल करने वाले ग्रुप की खास जानकारी नहीं होनी चाहिए.
  • TRUE के लिए setColorized नहीं होना चाहिए.
  • सूचना के चैनल में IMPORTANCE_MIN नहीं होना चाहिए.

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

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

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

इस्तेमाल करने की शर्तें

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

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

जारी है

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

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

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

उपयोगकर्ता की ओर से शुरू की गई प्रोसेस

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

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

समय के हिसाब से संवेदनशील

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

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

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

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

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

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

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

स्टेटस चिप

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

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

जब समय

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

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

स्टेटस चिप ऐसा दिखेगा

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

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

Wear OS

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

Dismissal

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

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

इन एपीआई को आज़माने के लिए, सैंपल ऐप्लिकेशन देखें.

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

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

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

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

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

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