Sign inGet started

Watchlist इवेंट

साइन इन करने वाला सदस्य उन सदस्यों के नाम बता सकता है जिन्हें वह फ़ॉलो करना चाहता है, और कनेक्शन को सूचित किया जाता है जब उनमें से कोई ऑनलाइन या ऑफ़लाइन होता है। पूरा फ़ीचर इतना ही है: हर रिश्ते के लिए कोई चैनल नहीं, कोई पोलिंग नहीं, एक लिस्ट।
Watchlist इवेंट member signin पर आधारित हैं। साइन-इन के समय आपका बैकएंड जो identity साइन करता है, उसमें member ids का एक watchlist ऐरे हो सकता है; जब ऐप की watchlist_events सेटिंग चालू हो, तो कनेक्शन को ठीक उन्हीं ids के लिए ऑनलाइन और ऑफ़लाइन इवेंट मिलते हैं। कोई सदस्य तब तक ऑनलाइन है जब तक उसका कम से कम एक साइन-इन कनेक्शन हो: पहला कनेक्शन online फ़ायर करता है, आख़िरी कनेक्शन बंद होने पर offline फ़ायर होता है, और बीच के टैब कुछ फ़ायर नहीं करते, वही काउंटिंग जो presence चैनल इस्तेमाल करते हैं।

इसे चालू करें

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

Watchlist को साइन की गई identity में रखें

Watchlist member_data का हिस्सा है, वह JSON स्ट्रिंग जिसे आपका member auth endpoint साइन करता है। identity के बगल में ids जोड़ें:
कोड उदाहरण
{
  "member_id": "u_1",
  "member_info": { "name": "Ada" },
  "watchlist": ["u_2", "u_3"]
}
चूँकि लिस्ट साइन की गई identity के अंदर है, आपका auth endpoint तय करता है कि कोई सदस्य किसे वॉच कर सकता है: ऐरे अपने डेटा (उनके कॉन्टैक्ट्स, उनकी टीम) से बनाएँ, क्लाइंट द्वारा भेजी गई लिस्ट स्वीकार न करें, वरना कोई भी सदस्य किसी भी दूसरे को वॉच कर सकता है। एक watchlist में अधिकतम 100 ids हो सकती हैं; इससे लंबी लिस्ट पहले 100 तक काट दी जाती है और कनेक्शन को error 4302 मिलता है जिसमें स्वीकार की गई ids बताई जाती हैं।
लिस्ट साइन-इन के समय कैप्चर होती है और कनेक्शन की पूरी अवधि तक बनी रहती है। इसे बदलने के लिए अपने endpoint से नई लिस्ट साइन कराएँ: क्लाइंट हर reconnect पर अपने-आप दोबारा साइन इन करता है, इसलिए अगला कनेक्शन अपडेट की गई लिस्ट फ़ॉलो करता है और उसकी मौजूदा स्थितियाँ प्राप्त करता है।

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

bird.member.watchlist पर bind करें। पूरी लिस्ट की मौजूदा स्थिति साइन-इन के तुरंत बाद आती है, इसलिए आप किसी की स्थिति बदलने से पहले ही दिखा सकते हैं कि कौन ऑनलाइन है:
कोड उदाहरण
await bird.signin();

bird.member.watchlist.bind("online", (memberIds) => {
  console.log("online:", memberIds);
});
bird.member.watchlist.bind("offline", (memberIds) => {
  console.log("offline:", memberIds);
});
हर इवेंट उन member ids को साथ लाता है जिन पर वह लागू होता है। साइन-इन के बाद की शुरुआती डिलीवरी पूरी लिस्ट को स्थिति के अनुसार ग्रुप करके कवर करती है; उसके बाद, इवेंट तब आते हैं जब सदस्य शून्य और एक कनेक्शन के बीच आते-जाते हैं।

Watchlist या presence?

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

अगले कदम

  • Terminating member connections साइन-इन और उस identity कॉन्ट्रैक्ट को कवर करता है जिसमें watchlist रहती है।
  • व्यक्तिगत फ़ॉलो लिस्ट की बजाय शेयर्ड-रूम मेंबरशिप के लिए Presence channels
  • Sending events to a member दूसरा member-addressed सरफ़ेस है।

संबंधित संसाधन

इस विषय के लिए डॉक्यूमेंटेशन, गाइड और उदाहरणों के साथ आगे बढ़ें। संसाधन अंग्रेज़ी में हैं।

अभ्यास करें और इम्प्लीमेंटेशन ब्रीफ़ पाएँ