सिस्टम, लाइव अपडेट की सूचनाओं को प्रमोट करता है. प्रमोट की गई सूचनाएं, सिस्टम की स्क्रीन पर ज़्यादा प्रमुखता से दिखती हैं. जैसे, सूचना की दराज और लॉक स्क्रीन में सबसे ऊपर, और स्टेटस बार में चिप के तौर पर.
प्रमोट की गई सूचनाओं के कार्ड इस तरह दिखते हैं:
- डिफ़ॉल्ट रूप से बड़ा किया गया
- छोटा नहीं किया जा सकता
लाइव अपडेट के तौर पर मंज़ूरी पाने के लिए, आपकी सूचना को इन ज़रूरी शर्तों को पूरा करना होगा:
- यह स्टैंडर्ड स्टाइल,
BigTextStyle,CallStyleयाProgressStyleमें होना चाहिए. - 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एक इंटेंट ऐक्शन है. इसकी मदद से ऐप्लिकेशन, लोगों को सेटिंग में भेज सकते हैं, ताकि वे इस सुविधा को चालू कर सकें.
इस्तेमाल से जुड़ी ज़रूरी शर्तें
लाइव अपडेट का इस्तेमाल उन गतिविधियों के लिए करें जो जारी हैं, उपयोगकर्ता ने शुरू की हैं, और समय के हिसाब से ज़रूरी हैं.
जारी है
लाइव अपडेट में ऐसी गतिविधि के बारे में जानकारी होनी चाहिए जो अभी चल रही हो. साथ ही, उसके शुरू और खत्म होने का समय अलग-अलग होना चाहिए. अगर कोई गतिविधि पहले हो चुकी है, तो LiveUpdate का इस्तेमाल न करें. इसके बजाय, स्टैंडर्ड सूचना का इस्तेमाल करें. यह उन इवेंट पर भी लागू होता है जो अभी शुरू नहीं हुए हैं. हालांकि, शुरू होने वाले इवेंट के लिए लाइव अपडेट का इस्तेमाल किया जा सकता है.
लाइव अपडेट में, मौजूदा गतिविधियों की जानकारी मिलती है. ऐप्लिकेशन की सुविधाओं को तुरंत ऐक्सेस करने की सुविधा देने के लिए, लाइव अपडेट का इस्तेमाल न करें. अगर आपको ऐसा करना है, तो ऐप्लिकेशन विजेट या कस्टम क्विक सेटिंग टाइल का इस्तेमाल करें.
- इन कामों के लिए इस्तेमाल किया जा सकता है: नेविगेशन, फ़ोन कॉल, राइडशेयरिंग की सुविधा देने वाली कंपनी की ट्रैकिंग, और खाना डिलीवर करने वाली कंपनी की ट्रैकिंग.
- गलत इस्तेमाल: विज्ञापन, प्रमोशन, चैट मैसेज, सूचनाएं, आने वाले समय में होने वाले कैलेंडर इवेंट, और ऐप्लिकेशन की सुविधाओं को तुरंत ऐक्सेस करने के लिए.
उपयोगकर्ता की ओर से शुरू की गई प्रोसेस
ज़्यादातर लाइव अपडेट में ऐसी गतिविधियां दिखनी चाहिए जिन्हें उपयोगकर्ता ने साफ़ तौर पर ट्रिगर किया हो. जैसे, वर्कआउट शुरू करना, ड्राइविंग नेविगेशन शुरू करना या राइडशेयरिंग की सुविधा का इस्तेमाल करना. लाइव अपडेट में, आस-पास की जानकारी न दिखाएं. जैसे, उपयोगकर्ता के आस-पास के माहौल, उसकी दिलचस्पी या आने वाले इवेंट के बारे में जानकारी. लाइव अपडेट जनरेट करने के लिए, अन्य पक्षों की ओर से ट्रिगर की गई गतिविधियों को अनुमति न दें.
कभी-कभी, कोई उपयोगकर्ता ऐसी कार्रवाई कर सकता है जिससे आने वाले समय में कुछ समय के लिए गतिविधि शुरू हो जाती है. उदाहरण के लिए, अगर उपयोगकर्ता किसी फ़्लाइट या कॉन्सर्ट के टिकट खरीदता है, किसी टूर्नामेंट के लिए साइन अप करता है या समयसीमा के हिसाब से होने वाले किसी इवेंट में शामिल होने की जानकारी देता है. ऐसे मामलों में, शेड्यूल किया गया इवेंट शुरू होने पर, लाइव अपडेट अपने-आप दिखने की सुविधा चालू की जा सकती है. हालांकि, ऐप्लिकेशन को अपने ट्रिगर इस तरह से ट्यून करने होंगे कि वे सिर्फ़ तब दिखें, जब गतिविधि होने वाली हो. अगर उपयोगकर्ता साफ़ तौर पर यह बताता है कि उसे किसी बैकग्राउंड इवेंट, जैसे कि स्पोर्ट्स गेम को मॉनिटर करना है, तो उस इवेंट के लिए लाइव अपडेट पोस्ट किए जा सकते हैं. हालांकि, आपको इससे जुड़ी सूचना में, अनपिन करें कार्रवाई भी शामिल करनी चाहिए.
समय के हिसाब से संवेदनशील
लाइव अपडेट सिर्फ़ तब दिखाएं, जब गतिविधि के दौरान उपयोगकर्ता का ध्यान उस पर बना रहना ज़रूरी हो. लाइव अपडेट का मुख्य इस्तेमाल निगरानी के लिए किया जाता है. जब उपयोगकर्ता को लाइव अपडेट पर एक नज़र डालने से काफ़ी फ़ायदा मिलता है, ताकि वह गतिविधि की बदलती स्थिति पर नज़र रख सके.
लाइव अपडेट, अक्सर उन गतिविधियों के लिए सही होता है जो लाइव अपडेट और सामान्य सूचनाओं के बीच ट्रांज़िशन करती हैं. उदाहरण के लिए, किसी व्यक्ति की फ़्लाइट से कई घंटे पहले, उसे बोर्डिंग पास की सूचना दिखाना सही है. हालांकि, यह सूचना सिर्फ़ तब लाइव अपडेट बननी चाहिए, जब व्यक्ति को इसकी ज़रूरत हो. जैसे, जब वह एयरपोर्ट या जगह पर पहुंच गया हो या जब बोर्डिंग शुरू हो गई हो. इसके उलट, लाइव अपडेट की सुविधा पैकेज को ट्रैक करने के लिए सही नहीं है, क्योंकि उपयोगकर्ता को इसे लगातार मॉनिटर करने की ज़रूरत नहीं होती.
स्टेटस चिप
स्टेटस चिप की मदद से, उपयोगकर्ता सूचना न दिखने पर भी लाइव अपडेट को ट्रैक कर सकते हैं. setShortCriticalText या setWhen का इस्तेमाल करके, प्रोग्रेस से जुड़ी सूचना के बारे में अहम जानकारी दें.
Notification.Builder#setSmallIcon दिखता है.
Notification.Builder#setShortCriticalText का इस्तेमाल करें.
Notification.Builder#setShortCriticalText का इस्तेमाल करें.जब समय
'कब' की शर्त पूरी होने पर, सूचना के दिखने की अवधि के लिए काउंटडाउन शुरू हो जाता है. हालांकि, ऐसा तब तक होता है, जब तक सूचना को खारिज या अपडेट न कर दिया जाए. यहां बताया गया है कि अलग-अलग स्थितियों में समय का इस्तेमाल कैसे किया जाता है:
- 'कब' के लिए सेट किया गया समय, कम से कम दो मिनट बाद का हो: अगर मौजूदा समय सुबह 10:05 बजे है और 'कब' के लिए सेट किया गया समय सुबह 10:10 बजे है, तो चिप में 5 मिनट लिखा होगा.
- अगर सूचना मिलने का समय एक मिनट से ज़्यादा पुराना है, तो सूचना नहीं दिखाई जाती.
- चिप में मौजूद टाइमर को तब दिखाया जा सकता है, जब Chronometer का इस्तेमाल किया जा रहा हो.
setUsesChronometerऔरsetChronometerCountdownदेखें. क्रोनोमीटर टाइमर को चिप में तब तक दिखाया जाता है, जब तक वह पॉज़िटिव होता है. - आपको सूचना पर समय नहीं दिखाना है:
setShowWhenका इस्तेमाल करकेFALSEकरें.
स्टेटस चिप दिखने का तरीका
स्टेटस चिप में हमेशा एक आइकॉन शामिल होता है. इसमें टेक्स्ट भी शामिल किया जा सकता है. चिप की ज़्यादा से ज़्यादा चौड़ाई 96 डीपी होती है. टेक्स्ट सिर्फ़ तब दिखेगा, जब पूरा टेक्स्ट चिप में फ़िट हो जाए. टेक्स्ट, इन शर्तों के आधार पर दिखता है:
- अगर टेक्स्ट में सात से कम वर्ण हैं, तो पूरा टेक्स्ट दिखाएं.
- अगर टेक्स्ट का आधा हिस्सा नहीं दिखेगा, तो सिर्फ़ आइकॉन दिखाएं.
- अगर टेक्स्ट का आधा हिस्सा या उससे ज़्यादा हिस्सा दिखेगा, तो ज़्यादा से ज़्यादा टेक्स्ट दिखाएं.
Dismissal
उपयोगकर्ता, सूचना पैनल में सूचनाएं दिखने की सुविधा को कंट्रोल कर सकते हैं. लाइव अपडेट के तौर पर अवांछित पोस्ट करने से, उपयोगकर्ता ऐप्लिकेशन को पोस्ट करने की अनुमति वापस ले सकते हैं.
उपयोगकर्ताओं को लाइव अपडेट की सुविधा पूरी तरह से बंद करने से रोकने के लिए, ऐसे अपडेट पोस्ट न करें जिन्हें उपयोगकर्ता खारिज कर सकते हैं. ऐसे लाइव अपडेट फिर से पोस्ट न करें जिन्हें उपयोगकर्ता ने खारिज कर दिया है. खारिज किए गए अपडेट का पता लगाने के लिए, setDeleteIntent का इस्तेमाल करें.
इन एपीआई को आज़माने के लिए, सैंपल ऐप्लिकेशन देखें.