Flutter पर विषय से जुड़ी मैसेज सेवा

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

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

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

  • किसी खास विषय पर मैसेज भेजने का विकल्प, मौसम या सार्वजनिक तौर पर उपलब्ध अन्य जानकारी दिखाने के लिए सबसे सही है.

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

  • अगर आपको हर उपयोगकर्ता के हिसाब से एक से ज़्यादा डिवाइसों पर मैसेज भेजने हैं, तो इस्तेमाल के उन उदाहरणों के लिए, डिवाइस ग्रुप मैसेज सेवा का इस्तेमाल करें.

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

    • किसी एक ऐप्लिकेशन इंस्टेंस पर 2,000 से ज़्यादा विषयों की सदस्यता ली जा सकती है.
    • अगर ऐप्लिकेशन इंस्टेंस की सदस्यता लेने के लिए बैच इंपोर्ट का इस्तेमाल किया जा रहा है, तो हर अनुरोध 1,000 ऐप्लिकेशन इंस्टेंस तक सीमित होता है.
    • हर प्रोजेक्ट के लिए, नई सदस्यताओं की फ़्रीक्वेंसी तय की गई होती है. कम समय में सदस्यता के कई अनुरोध भेजने पर, FCM सर्वर जवाब के तौर पर 429 RESOURCE_EXHAUSTED ("कोटा की सीमा पार हो गई") रिस्पॉन्स देगा. एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करें.

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

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

किसी विषय की सदस्यता लेने के लिए, subscribeToTopic() को उस विषय का नाम बताएं. यह तरीका इस्तेमाल करने पर, Future दिखता है. इसका नतीजा यह होता है कि सदस्यता पूरी हो जाने के बाद, यह रिज़ॉल्व हो जाता है:

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

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

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

अगले चरण