डेटा लेयर एपीआई का इस्तेमाल करके, नेटवर्क पर डिवाइस खोजें

डिवाइस, इंटरनेट से सीधे तौर पर वाई-फ़ाई या मोबाइल नेटवर्क का इस्तेमाल करके या किसी जोड़े गए ब्लूटूथ डिवाइस की मदद से कनेक्ट हो सकते हैं.

पहुंच योग्य और आस-पास के नोड

किसी डिवाइस को तब ऐक्सेस किया जा सकता है, जब वह ऑनलाइन हो और किसी दूसरे डिवाइस के साथ कनेक्ट करने के लिए उपलब्ध हो. ऐसा सीधे ब्लूटूथ या अन्य तरीके से क्लाउड के ज़रिए किया जा सकता है.

किसी डिवाइस को आस-पास मौजूद तब माना जाता है, जब उसे क्लाउड का इस्तेमाल किए बिना, सीधे ब्लूटूथ से कनेक्ट किया जा सकता हो.

ऐसी गतिविधियां जिनसे कनेक्ट होने में लगने वाले समय पर असर पड़ता है

कुछ मामलों में, डिवाइसों को फिर से कनेक्ट होने में चार मिनट लग सकते हैं. इन स्थितियों में ये शामिल हैं:

  • Wear OS डिवाइस का इस्तेमाल न करना: अगर Wear OS डिवाइस को उपयोगकर्ता की कलाई से हटा दिया जाता है या लंबे समय तक इस्तेमाल नहीं किया जाता है, तो डिवाइस को फिर से कनेक्ट करने में ज़्यादा समय लग सकता है.
  • डॉज़ मोड: डिवाइस के बिजली बचाने वाले डॉज़ मोड की वजह से, बैकग्राउंड प्रोसेस सीमित हो सकती हैं. इससे डिवाइस को फिर से कनेक्ट होने में ज़्यादा समय लग सकता है.
  • उपयोगकर्ता का इंटरैक्शन: अगर उपयोगकर्ता एक ही समय पर, हैंडहेल्ड डिवाइस और Wear OS डिवाइस, दोनों के साथ इंटरैक्ट करना शुरू करता है, तो अक्सर डिवाइसों को फिर से कनेक्ट करने की प्रोसेस तेज़ हो जाती है.

नोड क्लाइंट का इस्तेमाल करके सभी डिवाइसों को ढूंढना

NodeClient ऑब्जेक्ट, नेटवर्क से कनेक्ट किए गए Android डिवाइसों की सूची की पहचान करता है और उसे ब्रॉडकास्ट करता है. भले ही, हर डिवाइस की क्षमता अलग-अलग हो. किसी डिवाइस पर मौजूद सभी ऐप्लिकेशन को इवेंट की ये सूचनाएं मिलती हैं. जैसे, नेटवर्क से कोई नया डिवाइस जुड़ना या कोई मौजूदा डिवाइस ऑफ़लाइन होना.

NodeClient क्लास, उन डिवाइसों का पता लगाने में काफ़ी मददगार है जिन पर आपका ऐप्लिकेशन इंस्टॉल नहीं है.

क्षमता वाले क्लाइंट का इस्तेमाल करके, खास डिवाइसों को ढूंढना

CapabilityClient ऑब्जेक्ट से यह जानकारी मिलती है कि Wear OS नेटवर्क पर कौनसे डिवाइस, ऐप्लिकेशन की खास सुविधाओं के साथ काम करते हैं. क्षमता एक ऐसी सुविधा है जिसे ऐप्लिकेशन बिल्ड के समय तय करता है या रनटाइम के दौरान डाइनैमिक तौर पर कॉन्फ़िगर करता है.

उदाहरण के लिए, कोई मोबाइल Android ऐप्लिकेशन ऐसा विज्ञापन दिखा सकता है जो वीडियो प्लेबैक के रिमोट कंट्रोल की सुविधा देता है. उस ऐप्लिकेशन का Wear OS वर्शन, CapabilityClient का इस्तेमाल करके यह पता लगा सकता है कि आस-पास के किसी डिवाइस पर ऐप्लिकेशन का मोबाइल वर्शन इंस्टॉल है या नहीं. साथ ही, यह भी पता लगाया जा सकता है कि उस डिवाइस पर यह सुविधा काम करती है या नहीं. अगर ऐसा होता है, तो Wear OS ऐप्लिकेशन 'चलाएं' और 'रोकें' बटन दिखा सकता है, ताकि लोग अपने Wear OS डिवाइस से मोबाइल डिवाइस पर चलने वाले वीडियो को कंट्रोल कर सकें. ब्रॉडकास्ट की सुविधा इसके उलटी दिशा में भी काम करती है. Wear OS ऐप्लिकेशन उन सुविधाओं की सूची बना सकते हैं जो उनके साथ काम कर सकती हैं.

अपने ऐप्लिकेशन की नई सुविधाएं देखना

जिस डिवाइस से आपको कम्यूनिकेट करना है उसके नोड आईडी का पता लगाने के लिए, CapabilityClient का इस्तेमाल करें. उदाहरण के लिए, अगर आपको यह देखना है कि आपके ऐप्लिकेशन में, हाथ में पकड़े जाने वाले डिवाइसों पर कोई नई सुविधा उपलब्ध है या नहीं, तो हाथ में पकड़े जाने वाले डिवाइसों के लिए उस नई सुविधा की क्षमता बनाएं. इसके बाद, आपका Wear OS ऐप्लिकेशन उन डिवाइसों के लिए क्वेरी कर सकता है जिन पर यह सुविधा काम करती है. अगर यह सुविधा सभी डिवाइसों पर उपलब्ध नहीं है, तो इसका मतलब है कि उपयोगकर्ता के पास आपके ऐप्लिकेशन का ऐसा वर्शन नहीं है जो इस सुविधा के साथ काम करता है. आपको अपने ऐप्लिकेशन के लॉजिक में इस समस्या को ठीक से मैनेज करना चाहिए. अगर आपने यह मान लिया है कि मैसेज भेजने के लिए, हमेशा हैंडहेल्ड डिवाइस ही सही नोड है, तो हो सकता है कि आपके मैसेज डिलीवर न हों. इसकी वजह यह है कि फ़ोन ऐप्लिकेशन पर यह सुविधा काम नहीं करती.

यह पता लगाना कि नेटवर्क पर सिर्फ़ एक Wear OS डिवाइस है या नहीं

CapabilityClient का इस्तेमाल करके यह देखा जा सकता है कि आपके ऐप्लिकेशन को स्टैंडअलोन मोड में काम करना चाहिए या नहीं, क्योंकि Android पर चलने वाला कोई भी अन्य डिवाइस आस-पास नहीं है. FILTER_ALL को पास करने पर, नतीजों में कोई दूसरा डिवाइस नहीं दिखना चाहिए.