Sign inGet started

Presence channels

जिस चैनल का नाम presence- से शुरू होता है, वह private-channel authorization का उपयोग करता है और सदस्य पहचान जोड़ता है। आपका बैकएंड हर सब्सक्राइबर को एक member_id असाइन करता है। सब्सक्राइबर को वर्तमान सदस्य सूची और सदस्यों के जुड़ने या छोड़ने पर इवेंट प्राप्त होते हैं।
Presence channels का उपयोग ऑनलाइन रोस्टर, डॉक्यूमेंट व्यूअर, टाइपिंग इंडिकेटर, या सहयोगी कर्सर के लिए करें।

सब्सक्राइब करना

const room = bird.subscribe("presence-room-1");

room.bind("bird:subscription_succeeded", () => {
  console.log("me:", room.myId);
  console.log("here now:", [...room.members.values()]);
});

room.bind("bird:member_added", (member) => console.log("joined", member.member_id));
room.bind("bird:member_removed", (member) => console.log("left", member.member_id));
Swift और Kotlin में, subscribe एक बेस चैनल टाइप लौटाता है। myId या members एक्सेस करने से पहले इसे PresenceChannel में कास्ट करें। Swift, bird:subscription_succeeded के लिए एक member map और join तथा leave इवेंट के लिए एक Member प्रदान करता है। Kotlin हर इवेंट को JsonElement के रूप में प्रदान करता है। दोनों क्लाइंट में, वर्तमान रोस्टर room.members से पढ़ें।
सब्सक्रिप्शन पूरा होने पर bird:subscription_succeeded फ़ायर होता है। उस समय room.members में वर्तमान रोस्टर होता है और room.myId में आपका member_id होता है। बाद के join और leave इवेंट लागू करने से पहले इस प्रारंभिक रोस्टर को रेंडर करें।
Authorization वही फ़्लो है जो private channel का है, एक अतिरिक्त बात के साथ: आपका endpoint member_data लौटाता है, जो एक JSON स्ट्रिंग है जिसमें member_id और वैकल्पिक member_info होता है, और इसे उसी स्ट्रिंग को साइन करना होगा। देखें चैनल authorize करना

member_info को सुरक्षित रूप से उपयोग करें

हर चैनल सदस्य को member_info प्राप्त होता है। इसे छोटी सार्वजनिक प्रोफ़ाइल जानकारी जैसे display name या avatar URL के लिए उपयोग करें। ईमेल पते, authorization roles, या अन्य संवेदनशील डेटा शामिल न करें।
आपका बैकएंड अपने साइन किए हुए authorization रिस्पॉन्स में member_id और member_info असाइन करता है। क्लाइंट सब्सक्रिप्शन का अनुरोध कर सकता है लेकिन साइन की गई पहचान नहीं चुन सकता।

सदस्य और कनेक्शन

एक सदस्य के कई कनेक्शन हो सकते हैं। उदाहरण के लिए, तीन खुले टैब एक सदस्य और तीन कनेक्शन बनाते हैं:
क्या होता हैसदस्य इवेंटचैनल कनेक्शन काउंट
पहला टैब सब्सक्राइब करता हैbird:member_added1
दूसरा टैब सब्सक्राइब करता हैकोई नहीं2
दूसरा टैब बंद होता हैकोई नहीं1
अंतिम टैब बंद होता हैbird:member_removed0
room.members सेशन के बजाय पहचान दर्शाता है। खुले कनेक्शन की संख्या प्राप्त करने के लिए, Connection counting और Connection count events सक्षम करें, फिर bird:connection_count बाइंड करें।

अपने सर्वर से presence पढ़ना

दो सर्वर-साइड रीड उपलब्ध हैं, और किसी के लिए भी सब्सक्रिप्शन आवश्यक नहीं है:
member_count केवल presence के लिए है। किसी public या private channel पर इसे माँगना एक validation error है, क्योंकि उन चैनलों में सदस्य नहीं होते।
आप पब्लिश करते समय भी इसका अनुरोध कर सकते हैं, जो उस समय हर लक्षित चैनल की स्थिति लौटाता है। देखें इवेंट पब्लिश करना

अगले कदम

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

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

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