कनेक्टेड ब्राउज़रों और मोबाइल ऐप्स पर लाइव इवेंट स्ट्रीम करें।
WebSocket इंफ्रास्ट्रक्चर चलाए बिना, प्रबंधित पब/सब चैनलों पर लाइव ऑर्डर अपडेट, AI एजेंट की टोकन स्ट्रीम, सहयोगी रूम की स्थिति और इन-ऐप सूचनाएँ भेजें। जब कोई क्लाइंट सब्सक्राइब करता है, तो चैनल मांग पर शुरू हो जाते हैं और आखिरी कनेक्शन छूटने पर बंद हो जाते हैं। सार्वजनिक, निजी, प्रेज़ेंस, एन्क्रिप्टेड और कैश मोड चैनल के नाम में ही तय होते हैं।
channels.ts
4 सब्सक्राइब किए गए4 सब्सक्राइब किए गएconst bird = new BirdRealtime({ appKey: APP_KEY, region: "us1" }); // Public: anyone holding the app key can subscribe.const scores = bird.subscribe("match-42"); // Private: your backend signs every subscription.const order = bird.subscribe("private-order-ord_123"); // Presence: private, plus an identity the room can see.const room = bird.subscribe("presence-room-42"); // Cache: the latest event replays to whoever joins next.const build = bird.subscribe("cache-build-8821"); build.bind("bird:cache_miss", () => showSkeleton());
कनेक्शन 26896.319537
channels.ts
4 सब्सक्राइब किए गए4 सब्सक्राइब किए गएconst bird = new BirdRealtime({ appKey: APP_KEY, region: "us1" }); // Public: anyone holding the app key can subscribe.const scores = bird.subscribe("match-42"); // Private: your backend signs every subscription.const order = bird.subscribe("private-order-ord_123"); // Presence: private, plus an identity the room can see.const room = bird.subscribe("presence-room-42"); // Cache: the latest event replays to whoever joins next.const build = bird.subscribe("cache-build-8821"); build.bind("bird:cache_miss", () => showSkeleton());
कनेक्शन 26896.319537
channels.ts
4 सब्सक्राइब किए गए4 सब्सक्राइब किए गएconst bird = new BirdRealtime({ appKey: APP_KEY, region: "us1" }); // Public: anyone holding the app key can subscribe.const scores = bird.subscribe("match-42"); // Private: your backend signs every subscription.const order = bird.subscribe("private-order-ord_123"); // Presence: private, plus an identity the room can see.const room = bird.subscribe("presence-room-42"); // Cache: the latest event replays to whoever joins next.const build = bird.subscribe("cache-build-8821"); build.bind("bird:cache_miss", () => showSkeleton());
कनेक्शन 26896.319537
चैनल प्रीफ़िक्स से एक्सेस और रूम का व्यवहार तय करें।
चैनल रजिस्ट्री बनाए बिना मांग पर रूम शुरू करें।
Bird Realtime API पर आपका ऐप्लिकेशन डेटाबेस में पहले से रूम बनाने के बजाय, अधिकतम 164 अक्षरों के केस-सेंसिटिव चैनल नाम को सब्सक्राइब करके लाइव ट्रैफ़िक रूट करता है। नाम का प्रीफ़िक्स सुरक्षा और स्थिति की सीमा तय करता है: बिना प्रीफ़िक्स वाला नाम हर विज़िटर के लिए खुला है, private- के लिए आपके बैकएंड को सब्सक्राइबर को अधिकृत करना होता है, presence- सत्यापित सदस्यों की सूची जोड़ता है, और private-encrypted- इवेंट पेलोड को शुरू से अंत तक एन्क्रिप्ट करता है। सार्वजनिक चैनल नामों से आपकी सार्वजनिक ऐप कुंजी के साथ जुड़ा जा सकता है, इसलिए ग्राहक और टेनेंट पहचानकर्ता अधिकृत प्रीफ़िक्स वाले चैनलों पर ही रखें।
जो आप स्ट्रीम कर रहे हैं, उसके अनुसार चैनल मोड चुनें।
सार्वजनिक प्रसारण, प्रमाणित ग्राहक फ़ीड और सहयोगी रूम, सभी के लिए एक ही WebSocket कनेक्शन और बैकएंड पब्लिश कॉल का उपयोग करें।
- 01
Public चैनल।
किसी ऑथराइज़ेशन एंडपॉइंट को कॉल किए बिना हर विज़िटर तक लाइव खेल स्कोर, ट्रांज़िट आगमन, इन्वेंटरी टिकर या सिस्टम स्थिति अपडेट प्रसारित करें। आपकी सार्वजनिक ऐप कुंजी वाला कोई भी व्यक्ति सब्सक्राइब कर सकता है, इसलिए सार्वजनिक चैनल नामों में ग्राहक ID डालने के बजाय scores-live जैसे सामान्य विषय नाम रखें।
- 02
Private चैनल।
private- चैनलों पर व्यक्तिगत ऑर्डर ट्रैकर, AI एजेंट की टोकन स्ट्रीम, बिलिंग अलर्ट और वर्कस्पेस सूचनाएँ स्ट्रीम करें। जब कोई ब्राउज़र या मोबाइल ऐप सब्सक्राइब करता है, तो आपका बैकएंड उपयोगकर्ता का सत्र जाँचता है और आपके ऐप सीक्रेट से सब्सक्रिप्शन पर हस्ताक्षर करता है, ताकि अनधिकृत कनेक्शन सुन न सकें।
- 03
Presence चैनल।
presence- चैनलों पर सहयोगी दस्तावेज़ों की सदस्य सूची, लाइव दर्शक बार और सहायता कतार की उपलब्धता बनाएँ। आपका सर्वर हर सब्सक्राइबर को अधिकृत करता है और एक सत्यापित सदस्य प्रोफ़ाइल जोड़ता है, ताकि कनेक्टेड क्लाइंट्स को रूम के सक्रिय सदस्यों की सूची और जुड़ने-छोड़ने के रियल-टाइम अपडेट मिलें।
- 04
Encrypted चैनल।
private-encrypted- चैनलों से संवेदनशील खाता अपडेट, वित्तीय सूचनाएँ या गोपनीय वर्कस्पेस डेटा सुरक्षित रखें। आपका सर्वर आपके पास रखी 32-बाइट मास्टर कुंजी से हर पेलोड को एन्क्रिप्ट करता है। Realtime एज केवल सिफ़रटेक्स्ट पहुँचाता है, जबकि रूटिंग के लिए चैनल और इवेंट के नाम दिखाई देते रहते हैं।
- 05
Cache चैनल।
cache- प्रीफ़िक्स जोड़कर देर से जुड़ने वाले और दोबारा कनेक्ट होने वाले मोबाइल क्लाइंट्स को सब्सक्राइब करते ही नवीनतम स्थिति दें। Realtime सबसे हाल में प्रकाशित इवेंट को अधिकतम 30 मिनट के TTL तक फिर से भेजता है। कैश खाली होने पर यह cache-miss वेबहुक भेजता है, ताकि आपका सर्वर पूरी स्थिति का स्नैपशॉट फिर से भर सके।
एक कॉल में अधिकतम 100 चैनलों पर बैकएंड इवेंट भेजें।
अपने बैकएंड या बैकग्राउंड वर्कर्स से एक मानक HTTP अनुरोध के ज़रिए अपडेट प्रकाशित करें, और कनेक्टेड ब्राउज़रों व डिवाइसों तक WebSocket फ़ैन-आउट Bird पर छोड़ दें। एक कॉल किसी इवेंट को अधिकतम 100 चैनलों पर प्रसारित कर सकती है (जैसे लाइव मैच फ़ीड और उसका कैश वाला जुड़वाँ चैनल), या अलग-अलग रूम के लिए अधिकतम 10 अलग इवेंट एक बैच में भेज सकती है। अगर आपका UI पहले ही ऑप्टिमिस्टिक अपडेट लागू कर चुका है, तो आप कार्रवाई करने वाले टैब के कनेक्शन को छोड़ सकते हैं। आप पब्लिश प्रतिक्रिया में लाइव कनेक्शन या सदस्यों की संख्या पा सकते हैं, और आइडेम्पोटेंसी कुंजी जोड़ सकते हैं ताकि नेटवर्क पर फिर से प्रयास करने से डुप्लिकेट इवेंट न पहुँचें।
// One event, up to 100 channels, one request.
const result = await bird.realtime.publish(APP_ID, {
event: "score-updated",
channels: ["match-42", "cache-match-42"],
data: { home: 2, away: 1 },
// The tab that scored already rendered it locally.
exclude_connection_id: "26896.319537",
include: ["connection_count"],
});
for (const channel of result.data ?? []) {
console.log(channel.name, channel.connection_count);
}
साथियों के बीच टाइपिंग संकेतक और लाइव कर्सर स्ट्रीम करें।
टाइपिंग संकेतक, लाइव पॉइंटर निर्देशांक और सक्रिय चयन हाइलाइट जैसे अस्थायी UI संकेतों को आपके बैकएंड से होकर जाने की ज़रूरत नहीं है। जब आप अपने ऐप पर क्लाइंट इवेंट सक्षम करते हैं, तो निजी या प्रेज़ेंस रूम के अधिकृत सब्सक्राइबर client- प्रीफ़िक्स वाले इवेंट रूम के दूसरे प्रतिभागियों को सीधे भेज सकते हैं, प्रति कनेक्शन अधिकतम 10 संदेश प्रति सेकंड। प्रमाणित चैनल अनिवार्य होने से अनाम विज़िटर आपकी सार्वजनिक ऐप कुंजी से प्रसारण नहीं कर सकते, और बार-बार भेजे जाने वाले संकेत आपके ऐप्लिकेशन सर्वरों तक नहीं पहुँचते।
कम विलंब वाले इवेंट फ़ैन-आउट को टिकाऊ ऐप्लिकेशन स्थिति के साथ जोड़ें।
Realtime एज जैसे ही किसी इवेंट को अभी कनेक्टेड सब्सक्राइबरों तक एसिंक्रोनस फ़ैन-आउट के लिए स्वीकार करता है, प्रकाशन सफल हो जाता है। लाइव चैनल ऑफ़लाइन डिवाइसों के लिए संदेश कतार नहीं रखते, बल्कि अपडेट तुरंत आगे भेजते हैं। इसलिए टिकाऊ रिकॉर्ड अपने डेटाबेस में रखें, और कनेक्टेड स्क्रीनों को सिंक करने के लिए प्रकाशित इवेंट या कैश चैनलों का उपयोग करें। सभी प्लान पर तय सीमाएँ लागू होती हैं: प्रति पब्लिश अधिकतम 100 चैनल, प्रति बैच 10 इवेंट, प्रति इवेंट पेलोड 10 KB और 164 अक्षरों तक के चैनल नाम।
डॉक्स में और गहराई से जानें।
चैनल, सदस्य और कनेक्शन आपस में कैसे जुड़ते हैं, यह जानने के लिए Realtime अवलोकन पढ़ें। मल्टी-चैनल फ़ैन-आउट और ऑप्टिमिस्टिक UI बहिष्करण के लिए इवेंट प्रकाशित करने, देर से जुड़ने वालों के लिए स्थिति दोबारा भेजने और cache-miss से उबरने के लिए कैश चैनल, और अपने बैकएंड से लाइव रूम की उपस्थिति जाँचने के लिए चैनल की स्थिति क्वेरी करने से जुड़ी गाइड देखें।
बनाते रहें
Realtime के साथ।
पब/सब चैनलों को लाइव ऑनलाइन सदस्य सूचियों, सर्वर-हस्ताक्षरित एक्सेस नियंत्रण और बैकएंड लाइफ़साइकल वेबहुक के साथ जोड़ें।
Presence
लाइव ऑनलाइन सदस्य सूचियाँ दिखाएँ, उपयोगकर्ता पहचान के आधार पर खुले टैब की दोहराव हटाएँ, और अलग-अलग सदस्यों को सीधे संदेश भेजें।
→सुरक्षा
अपने सर्वर पर निजी रूम सब्सक्रिप्शन अधिकृत करें, कनेक्शन प्रमाणित करें और संवेदनशील पेलोड को शुरू से अंत तक एन्क्रिप्ट करें।
→Webhooks
जब कोई चैनल सक्रिय होता है, खाली होता है, उसके सदस्यों की संख्या बदलती है या उसका कैश नहीं मिलता, तब बैकएंड वर्कफ़्लो शुरू करें।
→बिना नियंत्रण खोए
स्केल करें।
टीमों को वर्कस्पेस में व्यवस्थित करें, API एक्सेस नियंत्रित करें, और ऑडिट लॉग से बदलावों को ट्रेस करें।
संगठन
Harbor
पहुँच अपने वर्कस्पेस तक सीमित रहती है।
प्रोडक्शन/API कुंजियाँ
हार्बर बैकएंड
सक्रियAlex Lee
एडमिन
आज · UTC
ऑडिट लॉग
संगठन
Harbor
पहुँच अपने वर्कस्पेस तक सीमित रहती है।
प्रोडक्शन/API कुंजियाँ
हार्बर बैकएंड
सक्रियAlex Lee
एडमिन
आज · UTC
ऑडिट लॉग
संगठन
Harbor
पहुँच अपने वर्कस्पेस तक सीमित रहती है।
प्रोडक्शन/API कुंजियाँ
हार्बर बैकएंड
सक्रियAlex Lee
एडमिन
आज · UTC
ऑडिट लॉग