6

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

उसी समय जब उपयोगकर्ता लॉग आउट करते हैं, तो उपयोगकर्ता को भी पंजीकरण नहीं किया जाना चाहिए।

तो क्या वर्तमान में कोई तंत्र उपलब्ध है? मैं फायरबेस एपीआई दस्तावेज के माध्यम से चला गया लेकिन मुझे उस पर कुछ भी नहीं मिला।

बस जानना चाहते हैं कि मुझे कुछ याद आया है या नहीं।

+1

लॉग इन करते समय केवल [unsubscribeFromTopic()] (https://firebase.google.com/docs/cloud-messaging/android/topic-messaging#subscribe_the_client_app_to_a_topic) फ़ंक्शन क्यों न करें? –

उत्तर

5

deleteToken() बनाम deleteInstanceId() का उपयोग करने के अंतर के लिए, answer देखें।


लॉगआउट पर एक ऐप इंस्टेंस (डिवाइस/उपयोगकर्ता) को अनधिकृत करना भी जीसीएम से सलाह नहीं दी जाती है। के रूप में प्रति GCM docs

डेवलपर्स लॉगआउट के लिए एक तंत्र के रूप में या उन के बीच स्विच, निम्नलिखित कारणों के लिए के लिए क्लाइंट ऐप अपंजीकृत कभी नहीं करना चाहिए:

  • एक पंजीकरण टोकन एक विशेष से संबद्ध नहीं है उपयोगकर्ता में लॉग इन यदि क्लाइंट ऐप अनियंत्रित और फिर पुनः पंजीकरण करता है, तो ऐप एक ही पंजीकरण टोकन या एक अलग पंजीकरण टोकन प्राप्त कर सकता है।

  • अनियंत्रण और पुन: पंजीकरण प्रत्येक को प्रसारित करने में पांच मिनट तक लग सकता है। इस समय के दौरान अनियंत्रित राज्य के कारण संदेशों को खारिज कर दिया जा सकता है, और संदेश गलत उपयोगकर्ता पर जा सकते हैं।

आप अभी भी आगे बढ़ना चाहते हैं, तो आप अभी भी ऊपर ही डॉक्स देख सकते हैं।

उपयोगकर्ता नहीं और सदस्यता खत्म करने के

वहाँ तीन तरीकों एक ग्राहक अनुप्रयोग अनुप्रयोग सर्वर से संदेश और/या विषय सदस्यता प्राप्त करना बंद करने का उपयोग कर सकते हैं:

  • InstanceID deleteToken() के साथ दर्शकों को ऐप सर्वर के प्रेषक आईडी और जीसीएम पर सेट स्कोप पर सेट किया गया। यह एक विशिष्ट ऐप सर्वर

  • InstanceID deleteID() से संदेश (विषय संदेश सहित) को रोकता है। यह सभी पिछले रजिस्ट्रेशन और सभी ऐप सर्वरों के लिए विषय सदस्यता

  • GCMPubSub सदस्यता समाप्त() के संदेशों को रोकता है। इस एप्लिकेशन को सर्वर

की विशिष्ट विषय FCM के लिए से विषय संदेशों बंद हो जाता है, यह FirebaseInstanceId होना चाहिए।

+0

हां यह सच है लेकिन। विषय समूह से संबंधित हैं। जैसे खेल। इसलिए विषयों का उपयोग करने का उद्देश्य उपयोगकर्ताओं के समूह से संवाद करना है। यही वह नहीं है जो मैं चाहता हूं। मैं व्यक्तिगत उपयोगकर्ताओं को प्रबंधित करना चाहता हूं। यदि मैं टोकन के माध्यम से एक ही उपयोगकर्ता से संवाद करना चाहता हूं तो संभव है। लेकिन मान लें कि उपयोगकर्ता लॉग आउट है। लेकिन अभी भी संचार असंभव होना चाहिए। –

+0

@HashanSenevirante क्या आपका मतलब उपयोगकर्ता को पूरी तरह से पंजीकरण नहीं करना है? –

+0

हां। एक बार उपयोगकर्ता फिर से लॉग इन करने के बाद, फिर से पंजीकरण करें। –

संबंधित मुद्दे