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

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

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

प्रमोशन वाले सूचना कार्ड दिखने में इस तरह के होते हैं:

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

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

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

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

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

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

इस्तेमाल से जुड़ी ज़रूरी शर्तें

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

जारी है

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

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

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

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

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

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

समय की संवेदनशीलता

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

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

स्टेटस चिप

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

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

जब समय

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

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

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

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

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

खारिज करना

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

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