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

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

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

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

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

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

  • यह स्टैंडर्ड/नो स्टाइल, BigTextStyle, CallStyle या ProgressStyle होना चाहिए.
  • Android मेनिफ़ेस्ट फ़ाइल में, रनटाइम के अलावा यहां दी गई अनुमति का अनुरोध करना ज़रूरी है android.permission.POST_PROMOTED_NOTIFICATIONS.
  • प्रमोशन का अनुरोध करने के लिए, EXTRA_REQUEST_PROMOTED_ONGOING या NotificationCompat.Builder#requestPromotedOngoing का इस्तेमाल करना ज़रूरी है.
  • इसे 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 मिनट" दिखेगा.
  • अगर सूचना मिलने का समय एक मिनट से ज़्यादा पुराना है, तो सूचना नहीं दिखाई जाती.
  • अगर आपको सूचना के शेड में दिखने वाली सूचना में समय नहीं दिखाना है, तो setShowWhen का इस्तेमाल करके FALSE करें.

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

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

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

खारिज करना

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

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

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