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