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