विषय के हिसाब से मैसेज भेजने की सुविधा

FCM विषय के लिए मैसेजिंग की सुविधा का इस्तेमाल करके, एक से ज़्यादा डिवाइसों पर मैसेज भेजे जा सकते हैं. इसके लिए, यह ज़रूरी है कि उन डिवाइसों ने किसी विषय के लिए ऑप्ट-इन किया हो. विषय के हिसाब से मैसेज, ज़रूरत के मुताबिक बनाए जा सकते हैं. साथ ही, FCM यह पक्का करता है कि मैसेज सही डिवाइसों पर, भरोसेमंद तरीके से डिलीवर हों.

विषय के हिसाब से मैसेजिंग के बारे में अहम बातें:

  • यह सुविधा, सार्वजनिक तौर पर उपलब्ध जानकारी के लिए सबसे सही है. जैसे, मौसम की चेतावनियां.
  • विषय के हिसाब से भेजे जाने वाले मैसेज, इंतज़ार के समय के बजाय थ्रूपुट के लिए ऑप्टिमाइज़ किए जाते हैं. अगर आपको किसी एक डिवाइस या छोटे ग्रुप को तेज़ी से, सुरक्षित तरीके से मैसेज डिलीवर करने हैं, तो विषयों के बजाय रजिस्ट्रेशन टोकन को टारगेट करें.

कोटा और सीमाएं

विषय के हिसाब से मैसेजिंग की सुविधा में, हर विषय के लिए असीमित सदस्यताओं की अनुमति होती है. हालांकि, FCM इन मामलों में सीमाएं लागू करता है:

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

सदस्यता की थ्रॉटलिंग

विषय के लिए सदस्यताएं जोड़ने या हटाने की दर, हर प्रोजेक्ट के लिए 3,000 क्यूपीएस तक सीमित है.

हर प्रोजेक्ट के लिए, नई सदस्यताओं की फ़्रीक्वेंसी की दर सीमित है. अगर कम समय में सदस्यता के बहुत ज़्यादा अनुरोध भेजे जाते हैं, तो FCM सर्वर, 429 RESOURCE_EXHAUSTED ("QUOTA_EXHAUSTED") वाला जवाब देंगे. एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करें.

फ़ैनआउट की थ्रॉटलिंग

मैसेज फ़ैनआउट, एक से ज़्यादा डिवाइसों पर मैसेज भेजने की प्रोसेस है. जैसे, विषयों और ग्रुप को टारगेट करना या टारगेट ऑडियंस या उपयोगकर्ताओं का ग्रुप को टारगेट करने के लिए, सूचनाएं कंपोज़र का इस्तेमाल करना.

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

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

अगले चरण