लाइव अपडेट की मदद से, अहम अपडेट की खास जानकारी मिलती है. इससे उपयोगकर्ता, ऐप्लिकेशन खोले बिना ही प्रोग्रेस को ट्रैक कर सकते हैं. सिस्टम, लाइव अपडेट की सूचनाओं को प्रमोट करता है. हालांकि, उपयोगकर्ता लाइव अपडेट की सूचना को कुछ समय के लिए खारिज कर सकते हैं या उसे स्टैंडर्ड सूचना में बदल सकते हैं. प्रमोट की गई सूचनाएं, सिस्टम की अलग-अलग जगहों पर ज़्यादा प्रमुखता से दिखती हैं. जैसे, सूचना ड्रॉअर में सबसे ऊपर, लॉक स्क्रीन पर, और स्टेटस बार में चिप के तौर पर. लाइव अपडेट की सूचनाओं में, कम शब्दों में, सही समय पर, और काम की जानकारी होनी चाहिए. इसके लिए, सूचनाओं से जुड़े सिद्धांतों का पालन करना ज़रूरी है.
प्रमोट की गई सूचनाओं के कार्ड, इस तरह दिखते हैं:
- डिफ़ॉल्ट रूप से, ये कार्ड बड़े दिखते हैं
- इन्हें छोटा नहीं किया जा सकता
लाइव अपडेट के तौर पर दिखाने के लिए, आपकी सूचना इन ज़रूरी शर्तों को पूरा करती हो:
- यह स्टैंडर्ड स्टाइल,
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 हो सकती है. टेक्स्ट सिर्फ़ तब दिखेगा, जब पूरा टेक्स्ट चिप में फ़िट हो जाए. टेक्स्ट, इन शर्तों के हिसाब से दिखता है:
- अगर टेक्स्ट में सात से कम वर्ण हैं, तो पूरा टेक्स्ट दिखाएं.
- अगर टेक्स्ट का आधा हिस्सा भी नहीं दिखेगा, तो सिर्फ़ आइकॉन दिखाएं.
- अगर टेक्स्ट का आधा हिस्सा दिखेगा, तो जितना हो सके उतना टेक्स्ट दिखाएं.
Dismissal
उपयोगकर्ता, सूचना शेड में सूचना की विज़िबिलिटी को कंट्रोल कर सकते हैं. अगर लाइव अपडेट की सुविधा का इस्तेमाल करके, ऐसी सूचनाएं पोस्ट की जाती हैं जिनकी उपयोगकर्ताओं को ज़रूरत नहीं है, तो हो सकता है कि उपयोगकर्ता, ऐप्लिकेशन को सूचनाएं पोस्ट करने की अनुमति रद्द कर दें.
उपयोगकर्ताओं को लाइव अपडेट की सुविधा पूरी तरह से बंद करने से रोकने के लिए, ऐसे अपडेट पोस्ट न करें जिन्हें उपयोगकर्ता खारिज कर सकते हैं. ऐसे लाइव अपडेट फिर से पोस्ट न करें जिन्हें उपयोगकर्ता ने खारिज कर दिया है. खारिज किए गए अपडेट का पता लगाने के लिए, setDeleteIntent का इस्तेमाल करें.
इन एपीआई के साथ एक्सपेरिमेंट करने के लिए, सैंपल ऐप्लिकेशन देखें.
अक्सर पूछे जाने वाले सवाल
सवाल: प्रोग्रेस बार के आखिर में दिखने वाला सफ़ेद बिंदु क्या है?
जवाब: प्रोग्रेस बार के आखिर में दिखने वाला सफ़ेद बिंदु, प्रोग्रेस बार के खत्म होने की जानकारी देता है.
सवाल: लाइव अपडेट के लिए, कस्टम सूचनाओं की सुविधा क्यों नहीं दी जाती?
जवाब: कस्टम सूचनाओं की सुविधा देने से, लगातार टेस्टिंग और यूएक्स मुश्किल हो जाता है. ऐसा इसलिए, क्योंकि Android के अलग-अलग वर्शन और डिवाइस बनाने वाली कंपनियों के हिसाब से, इनका व्यवहार अलग-अलग होता है. RemoteViews का इस्तेमाल करके, कस्टम सूचनाएं न बनाएं.