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

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

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

डेटा क्लाइंट

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

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

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

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

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

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

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

चैनल क्लाइंट

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

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

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

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

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

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

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