आपके पास डाउनस्ट्रीम मैसेज को डिलीवरी की प्राथमिकता असाइन करने के दो विकल्प हैं Android पर: सामान्य और उच्च प्राथमिकता. सामान्य और ज़्यादा प्राथमिकता वाले मैसेज डिलीवर करने की सुविधा काम करती है इस तरह:
सामान्य प्राथमिकता. यह इसके लिए डिफ़ॉल्ट प्राथमिकता है डेटा मैसेज में दिखाई दे सकता है. डिवाइस के स्लीप मोड (कम बैटरी मोड) में न होने पर, सामान्य प्राथमिकता वाले मैसेज तुरंत डिलीवर कर दिए जाते हैं. जब डिवाइस डोज़ मोड में होता है, तो डिलीवरी बैटरी बचाने में देरी हुई. ऐसा तब तक हुआ, जब तक डिवाइस बैटरी सेवर मोड से बाहर नहीं चला जाता. कम समय के लिए संवेदनशील मैसेज के लिए, जैसे नए ईमेल की सूचनाएं पाना, आपके यूज़र इंटरफ़ेस (यूआई) को सिंक में रखना या ऐप्लिकेशन का डेटा बैकग्राउंड, सामान्य वितरण प्राथमिकता चुनें.
सामान्य प्राथमिकता मिलने पर Android पर आपके ऐप्लिकेशन के लिए बैकग्राउंड डेटा सिंक का अनुरोध करता है, तो इनके साथ टास्क शेड्यूल कर सकता है: WorkManager का इस्तेमाल करें, ताकि नेटवर्क उपलब्ध होने पर वह उसे मैनेज कर सके.
ज़्यादा प्राथमिकता. FCM ज़्यादा प्राथमिकता देने की कोशिश करता है तुरंत मैसेज भेजता है, ताकि FCM को स्लीप मोड वाले डिवाइस को चालू करने की अनुमति मिल जाए ज़रूरी है और कुछ सीमित प्रोसेसिंग (इनमें बहुत ही सीमित नेटवर्क शामिल है) को चलाया जा सके ऐक्सेस करें). आम तौर पर, ज़्यादा प्राथमिकता वाले मैसेज का इस्तेमाल करने पर उपयोगकर्ता इंटरैक्शन करना चाहिए अपने ऐप्लिकेशन या उसकी सूचनाओं के साथ करें.
Android पर मैसेज मैनेज करना और उसे प्राथमिकता से हटाना
Android पर ज़्यादा प्राथमिकता वाले मैसेज, समय के हिसाब से संवेदनशील होते हैं और लोगों को दिखते हैं साथ ही, लोगों को सूचना दी जानी चाहिए. अगर FCM ऐसे पैटर्न का पता लगाता है जिसमें मैसेज की वजह से उपयोगकर्ता को दी जाने वाली सूचनाएं नहीं मिलतीं, ऐसा हो सकता है कि आपके मैसेज में, सामान्य प्राथमिकता न दी जाए या उन्हें ऐक्सेस नहीं किया गया को मैनेज किया जा सकता है.
FCM सात दिन तक इस्तेमाल करता है प्राथमिकता को कम करने या प्रॉक्सी करने का समय तय करते समय मैसेज; यह आपके हर मामले के लिए अलग-अलग का इस्तेमाल करें. अगर ज़्यादा प्राथमिकता वाले मैसेज के जवाब में, सूचनाएं पाने के लिए इस तरह से नहीं दिखेगा. जैसे कि इससे प्रभावित नहीं होगा.
Google Play services की मदद से, सूचना देने की सुविधा
खास तरह की ज़रूरी शर्तें पूरी करने वाली ज़्यादा प्राथमिकता वाले सूचना मैसेज (डेटा मैसेज नहीं) शर्तों को प्राथमिकता नहीं देते, बल्कि Google Play services में प्रॉक्सी किया जाता है. इसका मतलब है कि Google Play services इन पर सूचनाएं दिखाती है आपको ऐप्लिकेशन चालू करने की ज़रूरत नहीं होगी. ऐसा इसलिए किया जाता है, ताकि उपयोगकर्ता को बेहतर अनुभव मिलता है.
ध्यान दें कि प्रॉक्सी सर्वर से मिलने वाली सूचना की वजह से, आंकड़ों में बदलाव हो सकता है मिलने वाले मैसेज से जुड़ी शिकायत की जाती है:
- आंकड़े जुटाने के लिए प्रॉक्सी वाली सूचनाओं की रिपोर्ट करने के लिए, आपके ऐप्लिकेशन को FCM SDK टूल का वर्शन इस्तेमाल करना होगा 24.0.0 या इसके बाद के वर्शन होने चाहिए.
- आपको इन इवेंट की संख्या में देरी या गिरावट दिख सकती है मिलने वाले मैसेज की तुलना में प्रॉक्सी के लॉन्च होने से पहले की संख्या की तुलना नोटिफ़िकेशन. ऐसा इसलिए होता है, क्योंकि प्रॉक्सी वाली सूचनाओं के आंकड़े सिर्फ़ रिपोर्ट करना शुरू किया जाता है, और हो सकता है कि रिपोर्ट न भी की जाए. सूचना से ऐप्लिकेशन नहीं खुलेगा.
सूचना मैसेज को इस तरह प्रॉक्सी करना, ऐप्लिकेशन का डिफ़ॉल्ट व्यवहार है Android Q+ और Google Play services के 19054000 या इसके बाद के वर्शन का इस्तेमाल करके. मैसेज देखें एचटीटीपी v1 एपीआई से भेजे गए मैसेज प्रॉक्सी के ज़रिए भेजे जाते हैं, लेकिन Firebase से भेजे गए मैसेज कंसोल या लेगसी एपीआई को प्रॉक्सी नहीं किया जाएगा. ध्यान दें कि यह सुविधा फ़िलहाल, यह बीटा वर्शन में है और इसमें बदलाव हो सकते हैं.
हालांकि, हमारा सुझाव है कि आप ऐक्सेस देने की सुविधा चालू रखें, ताकि आपको मिलने वाले फ़ायदों के लिए, डिवाइस की बैटरी और मेमोरी को एक्सपोर्ट किया है, तो आप इनमें से किसी में भी इस व्यवहार से ऑप्ट आउट कर सकते हैं तरीके:
- ऐप्लिकेशन के लेवल के हिसाब से: अपने ऐप्लिकेशन मेनिफ़ेस्ट में,
<meta-data android:name= "delivery_metrics_exported_to_big_query_enabled" android:value="false"/>
डायरेक्टिव जोड़ें. - ऐप्लिकेशन इंस्टेंस के हिसाब से: ऐप्लिकेशन इंस्टेंस के लिए, इस्तेमाल के खास उदाहरण के आधार पर अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) फ़्लो में
fun setNotificationDelegationEnabled(disable: Boolean): Task<Void!>
सेट करें. - हर मैसेज के हिसाब से: भेजने के अनुरोध के लिए,
AndroidNotification
ऑब्जेक्ट मेंproxy
बटन कोDENY
पर सेट करें.
Android पर यह मेज़र करना कि मैसेज को प्राथमिकता नहीं दी जा रही है
निजी मैसेज. डिलीवरी के बाद, ये काम किए जा सकते हैं इसकी डिलीवर की गई प्राथमिकता, get Priority() से मिलती है. साथ ही, इसके मूल वर्शन प्राथमिकता तय की गई है.
सभी मैसेज. FCM कुल डिलीवरी डेटा एपीआई यह रिपोर्ट कर सकता है कि Android को भेजे जाने वाले आपके सभी मैसेज में से कितने प्रतिशत मैसेज कम है. कुल डेटा रिपोर्ट से कुछ मैसेज हटाए जा सकते हैं, लेकिन कुल मिलाकर उन्हें मैसेज को प्राथमिकता न देने की दरों के बारे में दुनिया भर में एक नज़रिया पेश करना चाहिए. हमारा लेख देखें ज़्यादा जानकारी के लिए एग्रीगेट किया गया डिलीवरी डेटा और एपीआई को क्वेरी करने के लिए सैंपल कोड; इसे यहां से भी एक्सप्लोर किया जा सकता है एपीआई एक्सप्लोरर.
प्रॉक्सी सूचनाएं. प्रॉक्सी वाली सूचनाओं को मौजूदा FCM या GA डिलीवरी मेट्रिक में नहीं गिना जाएगा, इसलिए सूचना की डिलीवरी से जुड़ी मेट्रिक में 15% तक की गिरावट हो सकती है. इसके लिए प्रॉक्सी किए गए मैसेज पर रिपोर्टिंग करने के लिए, FCM कुल डिलीवरी डेटा एपीआई.
ProxyNotificationInsightPercents
, खोज क्वेरी का प्रतिशत दिखाने के लिए, प्रॉक्सी नोटिफ़िकेशन और उन संदेशों के विवरण प्रॉक्सी किया गया.
समस्या का हल
पक्का करें कि आपके ऐप्लिकेशन इंस्टेंस में सूचनाएं पाने की सुविधा चालू हो. अगर उपयोगकर्ता ने आपके ऐप्लिकेशन के लिए सूचना पाने की अनुमति को बंद कर दिया है, तो आपकी कोई भी सूचना पोस्ट नहीं की जाएगी. ऐसा होने पर, आपके मैसेज सही नहीं होंगे. किसी ऐप्लिकेशन इंस्टेंस पर ज़्यादा प्राथमिकता वाले मैसेज भेजने से पहले, आपको पुष्टि करनी चाहिए कि सूचनाएं पाने की सुविधा चालू है.
कोई सूचना पोस्ट करने से पहले, घर पर कॉल न करें. क्योंकि Android मोबाइल इस्तेमाल करने वाले लोगों का एक छोटा हिस्सा अगर ऐसे नेटवर्क पर ज़्यादा इंतज़ार हो रहा है, तो इस तारीख से पहले अपने सर्वर से कनेक्ट न करें सूचना दिखा रहा है. समाप्ति से पहले सर्वर पर वापस कॉल करना वीडियो प्रोसेस होने में लगने वाला समय, ज़्यादा इंतज़ार का समय रखने वाले उपयोगकर्ताओं के लिए जोखिम भरा हो सकता है. इसके बजाय, सूचना सामग्री को FCM मैसेज में देख सकता है और उसे तुरंत दिखा सकता है. अगर आपको का इस्तेमाल करके, Android पर अतिरिक्त इन-ऐप्लिकेशन कॉन्टेंट को सिंक किया जा सकता है. इसके लिए, WorkManager उसे बैकग्राउंड में मैनेज कर सकता है.