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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण