फ़्लटर पर विषय संदेश

प्रकाशित/सदस्यता मॉडल के आधार पर, एफसीएम विषय मैसेजिंग आपको कई डिवाइसों पर एक संदेश भेजने की अनुमति देता है जिन्होंने किसी विशेष विषय को चुना है। आप आवश्यकतानुसार विषय संदेश लिखते हैं, और एफसीएम संदेश को सही उपकरणों तक विश्वसनीय रूप से रूट करने और वितरित करने का काम संभालता है।

उदाहरण के लिए, स्थानीय ज्वार पूर्वानुमान ऐप के उपयोगकर्ता "ज्वारीय धाराओं के अलर्ट" विषय को चुन सकते हैं और निर्दिष्ट क्षेत्रों में इष्टतम खारे पानी में मछली पकड़ने की स्थिति की सूचनाएं प्राप्त कर सकते हैं। स्पोर्ट्स ऐप के उपयोगकर्ता अपनी पसंदीदा टीमों के लिए लाइव गेम स्कोर में स्वचालित अपडेट की सदस्यता ले सकते हैं।

विषयों के बारे में ध्यान रखने योग्य कुछ बातें:

  • मौसम, या अन्य सार्वजनिक रूप से उपलब्ध जानकारी जैसी सामग्री के लिए विषय संदेश सबसे उपयुक्त है।

  • विषय संदेशों को विलंबता के बजाय थ्रूपुट के लिए अनुकूलित किया गया है। एकल डिवाइस या डिवाइस के छोटे समूहों में तेज़, सुरक्षित डिलीवरी के लिए, संदेशों को पंजीकरण टोकन पर लक्षित करें , न कि विषयों पर।

  • यदि आपको प्रति उपयोगकर्ता एकाधिक डिवाइस पर संदेश भेजने की आवश्यकता है, तो उन उपयोग के मामलों के लिए डिवाइस समूह मैसेजिंग पर विचार करें।

  • विषय संदेश प्रत्येक विषय के लिए असीमित सदस्यता का समर्थन करता है। हालाँकि, FCM इन क्षेत्रों में सीमाएँ लागू करता है:

    • एक ऐप इंस्टेंस को 2000 से अधिक विषयों के लिए सब्सक्राइब नहीं किया जा सकता है।
    • यदि आप ऐप इंस्टेंस की सदस्यता के लिए बैच आयात का उपयोग कर रहे हैं, तो प्रत्येक अनुरोध 1000 ऐप इंस्टेंस तक सीमित है।
    • नई सदस्यताओं की आवृत्ति प्रति प्रोजेक्ट दर-सीमित है। यदि आप कम समय में बहुत अधिक सदस्यता अनुरोध भेजते हैं, तो FCM सर्वर 429 RESOURCE_EXHAUSTED ("कोटा पार हो गया") प्रतिक्रिया के साथ प्रतिक्रिया देंगे। घातीय बैकऑफ़ के साथ पुनः प्रयास करें।

किसी विषय के लिए क्लाइंट ऐप की सदस्यता लें

क्लाइंट ऐप्स किसी भी मौजूदा विषय की सदस्यता ले सकते हैं, या वे एक नया विषय बना सकते हैं। जब कोई क्लाइंट ऐप किसी नए विषय नाम (जो आपके फायरबेस प्रोजेक्ट के लिए पहले से मौजूद नहीं है) की सदस्यता लेता है, तो उस नाम का एक नया विषय एफसीएम में बनाया जाता है और कोई भी ग्राहक बाद में इसकी सदस्यता ले सकता है।

किसी विषय की सदस्यता लेने के लिए विषय नाम के साथ subscribeToTopic() पर कॉल करें। यह विधि एक Future लौटाती है, जो सदस्यता सफल होने पर हल हो जाती है:

await FirebaseMessaging.instance.subscribeToTopic("topic");

सदस्यता समाप्त करने के लिए, विषय नाम के साथ unsubscribeFromTopic() पर कॉल करें।

वेब क्लाइंट के लिए subscribeToTopic() और unsubscribeFromTopic() समर्थित नहीं हैं। वेब उपयोगकर्ताओं के लिए सदस्यताएँ प्रबंधित करने का तरीका जानने के लिए, वेब/जावास्क्रिप्ट पर विषयों पर संदेश भेजें देखें।

अगले कदम