क्लाइंट टाइप चुनें

Wear OS के डेटा लेयर एपीआई में, अलग-अलग तरह के क्लाइंट शामिल होते हैं. ये क्लाइंट, अलग-अलग तरह के डेटा के लिए और अलग-अलग कनेक्टिविटी की स्थितियों में काम आते हैं.

इस पेज पर, हर तरह के क्लाइंट के बारे में बताया गया है. इसमें एक टेबल भी शामिल है, जिसमें अलग-अलग क्लाइंट की क्षमताओं की तुलना की गई है. इस जानकारी का इस्तेमाल करके, क्लाइंट के उन टाइप को चुना जा सकता है जो आपके ऐप्लिकेशन के लिए सबसे सही हों.

डेटा लेयर एपीआई का इस्तेमाल कब करना चाहिए

डेटा लेयर एपीआई का इस्तेमाल तब करें, जब इंटरैक्शन सिर्फ़ स्थानीय घड़ी और स्थानीय फ़ोन के बीच हो. ज़्यादा जानकारी के लिए, डेटा लेयर के सामान्य इस्तेमाल के उदाहरण देखें.

डेटा क्लाइंट

एक DataClient ऑब्जेक्ट की मदद से, DataItem या Asset को पढ़ा या लिखा जा सकता है:

  • हर DataItem जानकारी की एक यूनिट होती है. इसे उपयोगकर्ता के आस-पास मौजूद उन सभी डिवाइसों पर ब्रॉडकास्ट और सिंक किया जाता है जिनका मालिकाना हक उपयोगकर्ता के पास होता है. DataItem को स्थायी तौर पर सेव किया जाता है. जब तक डेटा आइटम मिटाया नहीं जाता, तब तक आपका डिवाइस उसके कॉन्टेंट को पढ़ सकता है.

  • Asset का इस्तेमाल, बड़े डेटा पेलोड के लिए किया जाता है. जैसे, इमेज या मीडिया फ़ाइलें.

मैसेज क्लाइंट

A MessageClient ऑब्जेक्ट, मैसेज भेज सकता है. यह रिमोट प्रोसीजर कॉल (आरपीसी) के लिए अच्छा है. जैसे, Wear OS डिवाइस का इस्तेमाल करके, आपके हाथ में पकड़ने वाले डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के वर्शन को कंट्रोल करना.

मैसेज, sendMessage() का इस्तेमाल करके एकतरफ़ा अनुरोधों के लिए या sendRequest() का इस्तेमाल करके अनुरोध-और-जवाब वाले कम्यूनिकेशन मॉडल के लिए बेहतरीन होते हैं. डेटा क्लाइंट के उलट, मैसेज क्लाइंट को मैसेज भेजने के लिए, नोड को नेटवर्क से कनेक्ट करना ज़रूरी होता है.

sendMessage() तरीका, रिमोट नोड तक मैसेज पहुंचाने की पूरी कोशिश करता है. इसमें, दोबारा कोशिश करने का कोई इनबिल्ट तरीका नहीं होता. अगर नेटवर्क पर ट्रांसफ़र शुरू होने से पहले, टारगेट डिवाइस डिसकनेक्ट हो जाता है, तो यह तरीका TARGET_NODE_NOT_CONNECTED दिखाता है.

चैनल क्लाइंट

A ChannelClient ऑब्जेक्ट, डिवाइसों के बीच स्ट्रीम-ओरिएंटेड कम्यूनिकेशन की सुविधा देता है. चैनल, दो नोड के बीच दोतरफ़ा कम्यूनिकेशन पाइप होता है. यह इन स्थितियों में काम आता है:

  • इंटरनेट उपलब्ध न होने पर, दो या उससे ज़्यादा कनेक्ट किए गए डिवाइसों के बीच डेटा फ़ाइलें ट्रांसफ़र करना. ChannelClient , DataClient की तुलना में डिस्क स्पेस बचाता है. ऐसा इसलिए, क्योंकि DataClient, कनेक्ट किए गए डिवाइसों के साथ सिंक करने से पहले, लोकल डिवाइस पर ऐसेट की एक कॉपी बनाता है.
  • किसी ऐसी फ़ाइल को भरोसेमंद तरीके से भेजना जो MessageClient का इस्तेमाल करके भेजने के लिए बहुत बड़ी है.
  • स्ट्रीम किया गया डेटा ट्रांसफ़र करना. जैसे, माइक्रोफ़ोन से मिला आवाज़ का डेटा.

चैनल खोलने के बाद, डेटा क्लाइंट के लिए ज़रूरी अलग-अलग DataItem यूनिट के बजाय, बाइट स्ट्रीम में लगातार डेटा भेजा और पाया जा सकता है.

डेटा फ़्लो को मैनेज करने और डेटा को एक जैसा बनाए रखने की ज़िम्मेदारी आपकी होती है. चैनल क्लाइंट, डेटा क्लाइंट की तरह डेटा को अपने-आप सिंक करने की सुविधा नहीं देते.

क्लाइंट की तुलना

यहां दी गई टेबल में, अलग-अलग क्लाइंट की क्षमताओं की तुलना की गई है:

क्लाइंट का टाइप डेटा पर्सिस्टेंस क्या 100 केबी से ज़्यादा साइज़ वाले डेटा को सपोर्ट करता है? इस्तेमाल किया जाने वाला नेटवर्क क्या ऑफ़लाइन काम करता है?
डेटा क्लाइंट डेटा को हमेशा के लिए सेव किया जाता है हां (Asset ऑब्जेक्ट का इस्तेमाल करें) ब्लूटूथ को प्राथमिकता दी जाती है. डेटा का बैकअप क्लाउड पर लिया जाता है. अगर ब्लूटूथ उपलब्ध है, तो यह बैकअप एसिंक्रोनस तरीके से लिया जाता है हां, पढ़ने और लिखने, दोनों के लिए
मैसेज क्लाइंट डेटा सेव नहीं किया जाता और दोबारा कोशिश नहीं की जाती नहीं ब्लूटूथ को प्राथमिकता दी जाती है. हालांकि, अगर सिर्फ़ वाई-फ़ाई कनेक्शन उपलब्ध है, तो इसका इस्तेमाल किया जा सकता है नहीं
चैनल क्लाइंट डेटा सेव नहीं किया जाता (कनेक्शन-ओरिएंटेड) हां ब्लूटूथ को प्राथमिकता दी जाती है. हालांकि, अगर सिर्फ़ वाई-फ़ाई कनेक्शन उपलब्ध है, तो इसका इस्तेमाल किया जा सकता है नहीं

डेटा लेयर एपीआई के साथ काम करने के बारे में ज़्यादा जानने के लिए, डेटा सिंक करना लेख पढ़ें. डेटा लेयर एपीआई का इस्तेमाल करते समय, बैटरी बचाने के बारे में जानने के लिए, बैटरी बचाने के लिए सुझाव लेख पढ़ें.