Sign inGet started

चैनल स्थिति की क्वेरी करना

तीन सर्वर-साइड रीड occupied चैनल सूचीबद्ध करते हैं, एक चैनल की जाँच करते हैं, और किसी presence चैनल के सदस्यों को सूचीबद्ध करते हैं। हर अनुरोध को अपनी Bird API key और Realtime ऐप की key और secret से प्रमाणित करें।
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({
  apiKey: process.env.BIRD_API_KEY,
  realtime: {
    key: process.env.BIRD_REALTIME_KEY,
    secret: process.env.BIRD_REALTIME_SECRET,
  },
});

कौन-से चैनल occupied हैं

const { data } = await bird.realtime.channels.list(appId, { prefix: "presence-" });

for (const channel of data) {
  console.log(channel.name);
}
जब तक कम से कम एक कनेक्शन सब्सक्राइब है, चैनल सूची में दिखता है। चैनल अलग से बनाए या रजिस्टर नहीं किए जाते, इसलिए खाली चैनल दिखाई नहीं देते। परिणाम को किसी फ़ैमिली जैसे presence- या orders- तक सीमित करने के लिए prefix का उपयोग करें।
रिस्पॉन्स पैजिनेटेड नहीं है और एक लाइव स्नैपशॉट में हर occupied चैनल लौटाता है। देखें Realtime चैनल सूचीबद्ध करें

एक चैनल की जाँच करें

const channel = await bird.realtime.channels.get(appId, "presence-lobby", {
  include: ["member_count"],
});

if (!channel.occupied) return; // nobody is listening; skip the work
कोई अज्ञात या अप्रयुक्त नाम occupied: false के साथ 200 OK लौटाता है। जब कोई कनेक्शन उसे प्राप्त नहीं कर सकता, तो काम छोड़ने के लिए इस परिणाम का उपयोग करें। देखें Realtime चैनल प्राप्त करें

काउंट, include के ज़रिए

include दोहराया जा सकता है और ठीक दो मान स्वीकार करता है:
  • member_count अलग-अलग सदस्यों की संख्या है, और यह केवल presence चैनलों पर काम करता है।
  • connection_count चैनल पर सब्सक्राइब किए गए कनेक्शनों की संख्या है, और इसके लिए ऐप की कनेक्शन-काउंटिंग सेटिंग आवश्यक है।
कोई भी अन्य मान 400 Bad Request लौटाता है। API गैर-presence चैनल पर member_count के लिए, presence प्रीफ़िक्स के बिना सूची अनुरोध के लिए, या कनेक्शन काउंटिंग अक्षम होने पर connection_count के लिए भी 400 Bad Request लौटाता है।
एट्रिब्यूट अनुरोध करने पर उपयोग में एक अतिरिक्त संदेश गिना जाता है। जब occupied आपके प्रश्न का उत्तर दे दे, तो इन्हें छोड़ दें।
एक सदस्य के पास कई कनेक्शन हो सकते हैं। तीन लोगों वाला कमरा जिसमें हर किसी के दो टैब खुले हों, member_count 3 और connection_count 6 रिपोर्ट करता है। Presence चैनल इस अंतर को समझाता है।

कौन मौजूद है

const { members } = await bird.realtime.channels.members(appId, "presence-lobby");

for (const member of members) {
  console.log(member.member_id);
}
रिस्पॉन्स में केवल सदस्य ID होती हैं। member_info सब्सक्राइब किए गए क्लाइंट को डिलीवर होता है और इस REST ऑपरेशन के ज़रिए उपलब्ध नहीं है। नाम या अवतार दिखाने के लिए ID को अपने रिकॉर्ड से जोड़ें। देखें चैनल सदस्य सूचीबद्ध करें

पब्लिश करते समय स्थिति पढ़ना

पब्लिश करते समय, पब्लिश के समय हर लक्षित चैनल के लिए समान काउंट लौटाने हेतु include का उपयोग करें। देखें पब्लिश करते समय चैनल स्थिति पढ़ना

पॉइंट-इन-टाइम व्यवहार

हर रिस्पॉन्स एक पॉइंट-इन-टाइम स्नैपशॉट है और तुरंत पुराना हो सकता है। इसे निरंतर स्थिति के लिए पोलिंग के बजाय एक बार के निर्णयों के लिए उपयोग करें।
निरंतर स्थिति के लिए, किसी एंडपॉइंट को Realtime webhook ग्रुप से सब्सक्राइब करें। realtime.channel_existence occupied और खाली हुए चैनल रिपोर्ट करता है, realtime.presence सदस्य परिवर्तन रिपोर्ट करता है, और realtime.connection_count कनेक्शन-काउंट परिवर्तन रिपोर्ट करता है। अपने संग्रहित व्यू को आरंभ या समाधान करने के लिए चैनल-स्थिति रीड का उपयोग करें।

अगले कदम

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

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

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