Nearby Connections, पीयर-टू-पीयर नेटवर्किंग एपीआई है. इसकी मदद से, ऐप्लिकेशन आस-पास मौजूद डिवाइसों को आसानी से ढूंढ सकते हैं, उनसे कनेक्ट कर सकते हैं, और रीयल-टाइम में डेटा शेयर कर सकते हैं. इसके लिए, इंटरनेट कनेक्शन की ज़रूरत नहीं होती.
इस्तेमाल के कुछ उदाहरण:
- साथ मिलकर काम करने के लिए व्हाइटबोर्ड: शेयर किए गए वर्चुअल व्हाइटबोर्ड पर, आस-पास मौजूद लोगों के साथ मिलकर आइडिया लिखें.
- लोकल मल्टीप्लेयर गेमिंग: मल्टीप्लेयर गेम सेट अप करें और आस-पास मौजूद अन्य उपयोगकर्ताओं को इसमें शामिल होने का न्योता दें.
- मल्टी-स्क्रीन गेमिंग: फ़ोन या टैबलेट को गेम कंट्रोलर के तौर पर इस्तेमाल करके, आस-पास मौजूद बड़ी स्क्रीन वाले Android डिवाइस पर गेम खेलें. जैसे, Android TV.
- ऑफ़लाइन फ़ाइल ट्रांसफ़र: फ़ोटो, वीडियो या किसी अन्य तरह का डेटा तेज़ी से और इंटरनेट कनेक्शन के बिना शेयर करें.
परिचय
आस-पास मौजूद डिवाइसों से कनेक्ट करने की सुविधा की मदद से, आस-पास मौजूद डिवाइसों को पूरी तरह से ऑफ़लाइन पीयर-टू-पीयर तरीके से विज्ञापन दिखाने, उन्हें खोजने, और उनसे कनेक्ट करने की सुविधा मिलती है. डिवाइसों के बीच कनेक्शन हाई-बैंडविड्थ और कम इंतज़ार के समय वाले होते हैं. साथ ही, ये पूरी तरह से एन्क्रिप्ट (सुरक्षित) होते हैं, ताकि डेटा को तेज़ी से और सुरक्षित तरीके से ट्रांसफ़र किया जा सके.
इस एपीआई का मुख्य मकसद, एक ऐसा प्लैटफ़ॉर्म उपलब्ध कराना है जो आसान, भरोसेमंद, और बेहतर परफ़ॉर्मेंस वाला हो. यह एपीआई, ब्लूटूथ, बीएलई, और वाई-फ़ाई टेक्नोलॉजी के कॉम्बिनेशन का इस्तेमाल करता है. इससे हर टेक्नोलॉजी की खूबियों का फ़ायदा मिलता है और उनकी कमियों को दूर किया जाता है. यह सुविधा, अलग-अलग प्लैटफ़ॉर्म और ओएस वर्शन पर ब्लूटूथ और वाई-फ़ाई की समस्याओं को दूर करती है. इससे डेवलपर उन सुविधाओं पर ध्यान दे पाते हैं जो उनके उपयोगकर्ताओं के लिए ज़रूरी हैं.
एपीआई के बारे में खास जानकारी
एपीआई का इस्तेमाल दो चरणों में किया जाता है: कनेक्शन से पहले और कनेक्शन के बाद.
कनेक्शन बनाने से पहले, विज्ञापन देने वाले लोग या कंपनियां अपने विज्ञापन दिखाती हैं. वहीं, खोज करने वाले लोग या कंपनियां, आस-पास मौजूद विज्ञापन देने वाले लोगों या कंपनियों को खोजती हैं और कनेक्शन बनाने के अनुरोध भेजती हैं. जब कोई डिस्कवरर, विज्ञापन देने वाले को कनेक्शन का अनुरोध भेजता है, तो सिमेट्रिक ऑथेंटिकेशन की प्रोसेस शुरू होती है. इसके बाद, दोनों पक्षों को कनेक्शन के अनुरोध को स्वीकार या अस्वीकार करने का विकल्प मिलता है.
जब दोनों डिवाइस, कनेक्शन के अनुरोध को स्वीकार कर लेते हैं, तो कनेक्शन बन जाता है. इसके बाद, डिवाइस कनेक्शन के बाद वाले फ़ेज़ में चले जाते हैं. इस दौरान, दोनों डिवाइसों के बीच डेटा शेयर किया जा सकता है.
विज्ञापन और डिस्कवरी
विज्ञापन देने वाले लोग या कंपनियां, विज्ञापन देने वाले अन्य लोगों या कंपनियों को दिखेंगी. साथ ही, विज्ञापन देने वाले नए व्यक्ति या कंपनी के मिलने या खो जाने पर, विज्ञापन देने वाले लोगों या कंपनियों को सूचना दी जाएगी.
कनेक्शन बनाना
जब डिस्कवरर, आस-पास मौजूद किसी विज्ञापन देने वाले से कनेक्ट करना चाहता है, तो वह कनेक्शन का अनुरोध कर सकता है.
दोनों पक्षों को कनेक्शन शुरू करने की प्रोसेस के बारे में सूचना दी जाएगी. साथ ही, दोनों पक्षों के पास कनेक्शन को स्वीकार या अस्वीकार करने का विकल्प होगा.
दोनों पक्षों के जवाब मिलने के बाद, हर पक्ष को नतीजे की सूचना दी जाएगी. अगर दोनों पक्षों ने कनेक्शन स्वीकार कर लिया है, तो कनेक्शन को स्थापित माना जाता है. इसके बाद, डेटा ट्रांसफ़र किया जा सकता है.
डेटा शेयर करना
कनेक्शन बन जाने के बाद, एपीआई का इस्तेमाल दोनों डिवाइसों के लिए एक जैसा होता है. इसलिए, विज्ञापन देने वाले और खोजने वाले डिवाइस के बीच कोई अंतर नहीं रह जाता.
अब दोनों डिवाइसों के बीच डेटा शेयर किया जा सकता है. तीन तरह के पेलोड इस्तेमाल किए जा सकते हैं:
- बाइट: बाइट कलेक्शन 32k तक सीमित हैं. ये मेटाडेटा या कंट्रोल मैसेज जैसी चीज़ें भेजने के लिए अच्छे हैं.
- फ़ाइल: किसी भी साइज़ की फ़ाइलें. इन्हें ऐप्लिकेशन से नेटवर्क इंटरफ़ेस में ट्रांसफ़र किया जाता है. इस दौरान, प्रोसेस की सीमाओं के पार कम से कम कॉपी की जाती है.
- स्ट्रीम: डेटा की एक स्ट्रीम, जो रिकॉर्ड किए गए ऑडियो/वीडियो की तरह ही तुरंत जनरेट होती है. इसका साइज़ पहले से पता नहीं होता.
डेटा पाने वाले लोगों को, नए डेटा के आने और डेटा ट्रांसफ़र की प्रोसेस से जुड़े अपडेट, डेटा ट्रांसफ़र रद्द होने या इसमें गड़बड़ी होने की सूचना दी जाएगी.
ये कनेक्शन फ़ुल-डूप्लेक्स होते हैं. इसका मतलब है कि विज्ञापन देने वाले और विज्ञापन खोजने वाले, एक साथ डेटा भेज और पा सकते हैं.
डेटा संग्रह
Google Play services के Nearby SDK टूल का इस्तेमाल करने पर, इस्तेमाल से जुड़े आंकड़े इकट्ठा किए जाते हैं. इससे उपयोगकर्ता अनुभव को बेहतर बनाने में मदद मिलती है.
- परफ़ॉर्मेंस मेट्रिक: Nearby SDK टूल का इस्तेमाल करके, डिवाइसों को स्कैन करने और उनसे कनेक्ट करने पर, खोज और कनेक्शन की इंतज़ार का समय, विश्वसनीयता, और थ्रूपुट इकट्ठा किया जाता है.
- डिवाइस की जानकारी: डिवाइस का मॉडल, देश, बिल्ड वर्शन, और ऐप्लिकेशन पैकेज का नाम इकट्ठा किया जाता है. साथ ही, इसे परफ़ॉर्मेंस मेट्रिक से जोड़ा जाता है, ताकि देश/इलाके और डिवाइस के हिसाब से स्लाइस की पहचान की जा सके.
असली उपयोगकर्ता, सेटिंग > Google > इस्तेमाल और गड़बड़ी की जानकारी पर जाकर, इस डेटा को इकट्ठा करने की अनुमति दे सकते हैं या इसे अस्वीकार कर सकते हैं.