FCM विषय के हिसाब से मैसेज भेजने की सुविधा की मदद से, एक से ज़्यादा डिवाइसों पर मैसेज भेजे जा सकते हैं. हालांकि, ऐसा सिर्फ़ उन डिवाइसों पर किया जा सकता है जिन्होंने किसी विषय के लिए ऑप्ट-इन किया हो. विषय के हिसाब से मैसेज अपनी ज़रूरत के मुताबिक लिखें. इसके बाद, FCM मैसेज को सही डिवाइसों पर भेजने और डिलीवर करने का काम करता है.
विषय के हिसाब से मैसेज भेजने के बारे में खास बातें:
- यह सुविधा, सार्वजनिक तौर पर उपलब्ध जानकारी के लिए सबसे सही है. जैसे, मौसम की चेतावनियां.
- विषय के हिसाब से भेजे जाने वाले मैसेज, लेटेन्सी के बजाय थ्रूपुट के लिए ऑप्टिमाइज़ किए जाते हैं. किसी एक डिवाइस या छोटे ग्रुप को तेज़ी से और सुरक्षित तरीके से मैसेज भेजने के लिए, विषयों के बजाय रजिस्ट्रेशन टोकन को टारगेट मैसेज भेजें.
कोटा और सीमाएं
विषय के हिसाब से मैसेज भेजने की सुविधा में, हर विषय के लिए असीमित सदस्यताएं ली जा सकती हैं. हालांकि, FCM इन क्षेत्रों में सीमाएं लागू करता है:
- किसी ऐप्लिकेशन के एक इंस्टेंस को 2,000 से ज़्यादा विषयों के लिए सदस्यता नहीं ली जा सकती.
- अगर ऐप्लिकेशन इंस्टेंस की सदस्यता लेने के लिए, एक साथ कई सदस्यताएं इस्तेमाल की जा रही हैं, तो हर अनुरोध में ज़्यादा से ज़्यादा 1,000 ऐप्लिकेशन इंस्टेंस शामिल किए जा सकते हैं.
सदस्यता थ्रॉटलिंग
किसी विषय की सदस्यताएं जोड़ने या हटाने की दर, हर प्रोजेक्ट के लिए 3,000 QPS तक सीमित है.
हर प्रोजेक्ट के लिए, नई सदस्यताओं की संख्या सीमित होती है. अगर कम समय में सदस्यता के बहुत ज़्यादा अनुरोध भेजे जाते हैं, तो FCM सर्वर, 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") वाला जवाब देंगे. एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करें.
फ़ैनआउट थ्रॉटलिंग
मैसेज फ़ैनआउट, एक मैसेज को कई डिवाइसों पर भेजने की प्रोसेस है. जैसे, जब किसी टॉपिक और ग्रुप को टारगेट किया जाता है या जब ऑडियंस या उपयोगकर्ता सेगमेंट को टारगेट करने के लिए, सूचना कंपोज़र का इस्तेमाल किया जाता है.
मैसेज फ़ैनआउट तुरंत नहीं होता है. इसलिए, कभी-कभी एक साथ कई फ़ैनआउट प्रोसेस हो रही होती हैं. हम हर प्रोजेक्ट के लिए, एक साथ होने वाले मैसेज फ़ैनआउट की संख्या को 1,000 तक सीमित करते हैं. इसके बाद, हम फ़ैनआउट के अतिरिक्त अनुरोधों को अस्वीकार कर सकते हैं या पहले से प्रोसेस हो रहे कुछ फ़ैनआउट पूरे होने तक, अनुरोधों के फ़ैनआउट को रोक सकते हैं.
फ़ैनआउट की दर, एक ही समय पर फ़ैनआउट का अनुरोध करने वाले प्रोजेक्ट की संख्या से तय होती है. किसी एक प्रोजेक्ट के लिए, फ़ैनआउट की दर 10,000 क्यूपीएस होना आम बात है. हालांकि, यह संख्या तय नहीं होती. यह सिस्टम पर मौजूद कुल लोड के हिसाब से तय होती है. यह ध्यान रखना ज़रूरी है कि फ़ैनआउट की उपलब्ध क्षमता को फ़ैनआउट अनुरोधों के हिसाब से नहीं, बल्कि प्रोजेक्ट के हिसाब से बांटा जाता है. इसलिए, अगर आपके प्रोजेक्ट में दो फ़ैनआउट प्रोसेस में हैं, तो हर फ़ैनआउट को फ़ैनआउट की उपलब्ध दर का सिर्फ़ आधा हिस्सा मिलेगा. फ़ैनआउट की स्पीड को बढ़ाने का सबसे सही तरीका यह है कि एक समय में सिर्फ़ एक फ़ैनआउट प्रोसेस में हो.
अगले चरण
- एडमिन SDK टूल या क्लाइंट ऐप्लिकेशन का इस्तेमाल करके, विषय की सदस्यताएं मैनेज करने का तरीका जानें.
- Admin SDK या FCM v1 HTTP API का इस्तेमाल करके, विषयों के हिसाब से मैसेज भेजने का तरीका जानें.