पब्लिश/सब्सक्राइब मॉडल पर आधारित, FCM की विषय के हिसाब से मैसेज भेजने की सुविधा का इस्तेमाल करके, उन सभी डिवाइसों पर मैसेज भेजा जा सकता है जिन्होंने किसी विषय के लिए ऑप्ट-इन किया है. विषय के हिसाब से मैसेज लिखने की सुविधा उपलब्ध होती है. साथ ही, FCM मैसेज को सही डिवाइसों तक पहुंचाने और उन्हें डिलीवर करने का काम करता है.
उदाहरण के लिए, ज्वार-भाटे का पूर्वानुमान लगाने वाले किसी स्थानीय ऐप्लिकेशन के उपयोगकर्ता, "ज्वारीय धाराओं की सूचनाएं" विषय के लिए ऑप्ट-इन कर सकते हैं. इसके बाद, उन्हें तय किए गए इलाकों में खारे पानी में मछली पकड़ने के लिए सबसे सही स्थितियों की सूचनाएं मिलेंगी. खेल-कूद से जुड़े किसी ऐप्लिकेशन के उपयोगकर्ता, अपनी पसंदीदा टीमों के लाइव गेम के स्कोर के अपने-आप अपडेट पाने के लिए सदस्यता ले सकते हैं.
विषयों के बारे में इन बातों का ध्यान रखें:
विषय के हिसाब से मैसेज भेजने की सुविधा, मौसम या सार्वजनिक तौर पर उपलब्ध अन्य जानकारी जैसे कॉन्टेंट के लिए सबसे सही है.
विषय के हिसाब से भेजे जाने वाले मैसेज, इंतज़ार के समय के बजाय थ्रूपुट के लिए ऑप्टिमाइज़ किए जाते हैं. किसी एक डिवाइस या डिवाइसों के छोटे ग्रुप को तेज़ी से और सुरक्षित तरीके से मैसेज डिलीवर करने के लिए, मैसेज को रजिस्ट्रेशन टोकन के हिसाब से टारगेट करें, न कि विषयों के हिसाब से.
अगर आपको हर उपयोगकर्ता के लिए, कई डिवाइसों पर मैसेज भेजने हैं, तो इन मामलों में डिवाइस ग्रुप मैसेजिंग का इस्तेमाल करें.
विषय के हिसाब से मैसेज भेजने की सुविधा, हर विषय के लिए असीमित सदस्यताओं के साथ काम करती है. हालांकि, FCM इन मामलों में सीमाएं लागू करता है:
- किसी ऐप्लिकेशन के एक इंस्टेंस को 2,000 से ज़्यादा विषयों के लिए सदस्यता नहीं ली जा सकती.
- अगर ऐप्लिकेशन इंस्टेंस की सदस्यता लेने के लिए, एक साथ कई इंस्टेंस इंपोर्ट करने की सुविधा का इस्तेमाल किया जा रहा है, तो हर अनुरोध में ज़्यादा से ज़्यादा 1,000 ऐप्लिकेशन इंस्टेंस शामिल किए जा सकते हैं.
- हर प्रोजेक्ट के लिए, नई सदस्यताओं की संख्या सीमित होती है. अगर कम समय में सदस्यता के लिए बहुत ज़्यादा अनुरोध भेजे जाते हैं, तो FCM सर्वर
429 RESOURCE_EXHAUSTED
("कोटा खत्म हो गया") वाला जवाब देंगे. एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करें.
क्लाइंट ऐप्लिकेशन को किसी विषय की सदस्यता लेना
क्लाइंट ऐप्लिकेशन, किसी भी मौजूदा विषय की सदस्यता ले सकते हैं या वे कोई नया विषय बना सकते हैं. जब कोई क्लाइंट ऐप्लिकेशन, किसी नए विषय के नाम की सदस्यता लेता है (ऐसा नाम जो आपके Firebase प्रोजेक्ट के लिए पहले से मौजूद नहीं है), तो FCM में उस नाम का एक नया विषय बन जाता है. इसके बाद, कोई भी क्लाइंट उसकी सदस्यता ले सकता है.
किसी विषय की सदस्यता लेने के लिए, विषय का नाम लेकर subscribeToTopic()
को कॉल करें. यह तरीका, Future
दिखाता है. सदस्यता लेने की प्रोसेस पूरी होने पर, यह Future
रिज़ॉल्व हो जाता है:
await FirebaseMessaging.instance.subscribeToTopic("topic");
सदस्यता छोड़ने के लिए, विषय के नाम के साथ unsubscribeFromTopic()
पर कॉल करें.
subscribeToTopic()
और unsubscribeFromTopic()
, वेब क्लाइंट के लिए उपलब्ध नहीं हैं. वेब उपयोगकर्ताओं के लिए सदस्यताएं मैनेज करने का तरीका जानने के लिए, वेब/JavaScript पर विषयों को मैसेज भेजना लेख पढ़ें.
अगले चरण
- विषय के हिसाब से मैसेज भेजने का तरीका जानें.
- सर्वर पर विषय की सदस्यताएं मैनेज करने का तरीका जानें.