Sign inGet Started

वॉचलिस्ट इवेंट

साइन इन करने वाला सदस्य उन सदस्यों के नाम दे सकता है जिन्हें वह फ़ॉलो करना चाहता है। उनमें से कोई भी ऑनलाइन आए या ऑफ़लाइन हो, तो कनेक्शन को सूचना मिलती है। पूरी सुविधा इतनी ही है: हर संबंध के लिए अलग चैनल नहीं, कोई पोलिंग नहीं, बस एक सूची।

वॉचलिस्ट इवेंट सदस्य साइन इन पर आधारित हैं। साइन इन के समय आपका बैकएंड जिस पहचान पर हस्ताक्षर करता है, उसमें सदस्य id की एक watchlist array हो सकती है। जब ऐप की watchlist_events सेटिंग चालू होती है, तो कनेक्शन को ठीक उन्हीं id के लिए ऑनलाइन और ऑफ़लाइन इवेंट मिलते हैं। जब तक किसी सदस्य का कम से कम एक साइन इन किया हुआ कनेक्शन है, तब तक वह ऑनलाइन माना जाता है। पहला कनेक्शन online भेजता है, आख़िरी कनेक्शन बंद होने पर offline भेजा जाता है, और बीच के टैब कुछ नहीं भेजते। प्रेज़ेंस चैनल भी यही गिनती इस्तेमाल करते हैं।

इसे चालू करें

Realtime → Apps पेज पर ऐप की सेटिंग में वॉचलिस्ट इवेंट को चालू करें, या Realtime API के ज़रिए ऐप पर watchlist_events को true पर सेट करें। कनेक्शन यह सेटिंग कनेक्ट होते समय लेते हैं, इसलिए इस पर निर्भर क्लाइंट रिलीज़ करने से पहले इसे चालू कर दें।

वॉचलिस्ट को हस्ताक्षरित पहचान में रखें

वॉचलिस्ट member_data का हिस्सा है, यानी वह JSON स्ट्रिंग जिस पर आपका सदस्य ऑथ एंडपॉइंट हस्ताक्षर करता है। पहचान के साथ id जोड़ें:

कोड उदाहरण
{
  "member_id": "u_1",
  "member_info": { "name": "Ada" },
  "watchlist": ["u_2", "u_3"]
}

सूची हस्ताक्षरित पहचान के अंदर होती है, इसलिए कौन सदस्य किसे देख सकता है, यह आपका ऑथ एंडपॉइंट तय करता है। क्लाइंट की भेजी array स्वीकार करने के बजाय array अपने डेटा (उनके संपर्क, उनकी टीम) से बनाएँ, वरना कोई भी सदस्य किसी भी दूसरे सदस्य को देख सकेगा। एक वॉचलिस्ट में अधिकतम 100 id हो सकते हैं। लंबी सूची को पहले 100 id तक काट दिया जाता है, और कनेक्शन को त्रुटि 4302 मिलती है जिसमें स्वीकार किए गए id बताए जाते हैं।

सूची साइन इन के समय ली जाती है और कनेक्शन रहने तक वही रहती है। इसे बदलने के लिए अपने एंडपॉइंट से नई सूची पर हस्ताक्षर करवाएँ। हर रीकनेक्ट पर क्लाइंट अपने आप फिर से साइन इन करता है, इसलिए अगला कनेक्शन अपडेट की गई सूची का पालन करता है और उसकी मौजूदा स्थितियाँ प्राप्त करता है।

ब्राउज़र में सुनें

bird.member.watchlist पर बाइंड करें। साइनइन के ठीक बाद पूरी सूची की मौजूदा स्थिति आ जाती है, इसलिए किसी की स्थिति बदलने से पहले ही आप दिखा सकते हैं कि कौन ऑनलाइन है:

कोड उदाहरण
await bird.signin();

bird.member.watchlist.bind("online", (memberIds) => {
  console.log("online:", memberIds);
});
bird.member.watchlist.bind("offline", (memberIds) => {
  console.log("offline:", memberIds);
});

हर इवेंट में उन मेंबर की आईडी होती हैं जिन पर वह लागू होता है। साइनइन के बाद की शुरुआती डिलीवरी में पूरी सूची स्थिति के अनुसार समूहों में आती है। उसके बाद इवेंट तब आते हैं जब किसी मेंबर के कनेक्शन शून्य से एक या एक से शून्य होते हैं।

वॉचलिस्ट या प्रेज़ेंस?

प्रेज़ेंस चैनल "who is in this room with me" का जवाब देते हैं: सभी एक ही चैनल को सब्सक्राइब करते हैं और मेंबर की एक ही सूची देखते हैं। वॉचलिस्ट "are the people I care about online anywhere" का जवाब देती है: हर मेंबर अपनी सूची फ़ॉलो करता है, और जिन लोगों को देखा जा रहा है उन्हें साइन इन करने के अलावा कुछ नहीं करना होता। बडी लिस्ट, एजेंट की उपलब्धता का संकेतक या "your contact just came online" नज वॉचलिस्ट के काम हैं, जबकि साझा रूम के सदस्यों की सूची प्रेज़ेंस का काम है।

अगले कदम

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।