Wear OS डेटा लेयर एपीआई में कई तरह के क्लाइंट होते हैं. ये क्लाइंट, अलग-अलग तरह के डेटा और कनेक्टिविटी की अलग-अलग स्थितियों के दौरान काम आते हैं.
इस पेज पर, हर तरह के क्लाइंट के बारे में बताया गया है. साथ ही, इसमें एक टेबल भी शामिल है, जिसमें अलग-अलग क्लाइंट की सुविधाओं की तुलना की गई है. इस जानकारी का इस्तेमाल करके, क्लाइंट टाइप का वह सेट चुना जा सकता है जो आपके ऐप्लिकेशन के लिए सबसे सही हो.
डेटा लेयर API का इस्तेमाल कब करना चाहिए
जब इंटरैक्शन सिर्फ़ लोकल स्मार्टवॉच और लोकल फ़ोन के बीच हो, तब डेटा लेयर एपीआई का इस्तेमाल करें. ज़्यादा जानकारी वाले उदाहरणों के लिए, डेटा लेयर के इस्तेमाल के सामान्य उदाहरण देखें.
डेटा क्लाइंट
DataClient ऑब्जेक्ट की मदद से, DataItem या Asset को पढ़ा या लिखा जा सकता है:
हर
DataItem, जानकारी की एक यूनिट है. इसे उपयोगकर्ता के आस-पास मौजूद सभी डिवाइसों पर ब्रॉडकास्ट और सिंक किया जाता है.DataItemको हमेशा के लिए सेव किया जाता है. साथ ही, आपका डिवाइस इसके कॉन्टेंट को तब तक पढ़ सकता है, जब तक डेटा आइटम को मिटा नहीं दिया जाता.Assetका इस्तेमाल, इमेज या मीडिया फ़ाइलों जैसे बड़े डेटा पेलोड के लिए किया जाता है.
मैसेज क्लाइंट
MessageClient ऑब्जेक्ट, मैसेज भेज सकता है. साथ ही, यह रिमोट प्रोसीजर कॉल (आरपीसी) के लिए अच्छा है. जैसे, हैंडहेल्ड डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के वर्शन को कंट्रोल करने के लिए, Wear OS डिवाइस का इस्तेमाल करना.
मैसेज, sendMessage() का इस्तेमाल करके एकतरफ़ा अनुरोधों के लिए या sendRequest() का इस्तेमाल करके अनुरोध और जवाब वाले कम्यूनिकेशन मॉडल के लिए बेहतरीन होते हैं. डेटा क्लाइंट के उलट, मैसेज क्लाइंट को मैसेज भेजने के लिए, नोड को नेटवर्क से कनेक्ट करना ज़रूरी होता है.
sendMessage() मेथड, रिमोट नोड पर डेटा डिलीवर करने का सबसे अच्छा तरीका है. इसमें, फिर से कोशिश करने का कोई तरीका पहले से मौजूद नहीं होता. अगर नेटवर्क ट्रांसफ़र शुरू होने से पहले टारगेट डिवाइस डिसकनेक्ट हो जाता है, तो यह तरीका TARGET_NODE_NOT_CONNECTED दिखाता है.
चैनल क्लाइंट
ChannelClient ऑब्जेक्ट,
डिवाइसों के बीच स्ट्रीम-ओरिएंटेड कम्यूनिकेशन की सुविधा देता है. चैनल, दो नोड के बीच दोतरफ़ा कम्यूनिकेशन पाइप होता है. इसका इस्तेमाल, इन मामलों में किया जा सकता है:
- इंटरनेट उपलब्ध न होने पर, कनेक्ट किए गए दो या उससे ज़्यादा डिवाइसों के बीच डेटा फ़ाइलें ट्रांसफ़र करना.
ChannelClient,DataClientके मुकाबले डिस्क में कम जगह लेता है. कनेक्ट किए गए डिवाइसों के साथ सिंक करने से पहले, लोकल डिवाइस पर ऐसेट की एक कॉपी बनाता है. MessageClientका इस्तेमाल करके, बड़ी फ़ाइलें आसानी से भेजें.- स्ट्रीम किए गए डेटा को ट्रांसफ़र करना, जैसे कि माइक्रोफ़ोन से आवाज़ का डेटा.
चैनल खोलने के बाद, डेटा को लगातार बाइट स्ट्रीम में भेजा और पाया जा सकता है. इसके लिए, डेटा क्लाइंट को अलग-अलग DataItem यूनिट की ज़रूरत नहीं होती.
डेटा फ़्लो को मैनेज करने और डेटा को एक जैसा बनाए रखने की ज़िम्मेदारी आपकी है. चैनल क्लाइंट, डेटा क्लाइंट की तरह अपने-आप डेटा सिंक होने की सुविधा नहीं देते.
क्लाइंट की तुलना
यहां दी गई टेबल में, अलग-अलग क्लाइंट की सुविधाओं की तुलना की गई है:
| क्लाइंट टाइप | डेटा पर्सिस्टेंस | क्या 100 केबी से ज़्यादा डेटा के साथ काम करता है? | इस्तेमाल करने के लिए नेटवर्क | क्या ऑफ़लाइन कार्य करता है? |
|---|---|---|---|---|
| डेटा क्लाइंट | डेटा को हमेशा के लिए सेव रखा जाता है | हां (Asset ऑब्जेक्ट इस्तेमाल करें) |
ब्लूटूथ को प्राथमिकता दी गई है. डेटा का बैकअप क्लाउड में लिया जाता है. अगर ब्लूटूथ उपलब्ध है, तो यह बैकअप एसिंक्रोनस तरीके से लिया जाता है | हां, पढ़ने और लिखने, दोनों के लिए |
| क्लाइंट को मैसेज भेजना | कोई परसिस्टेंस नहीं और दोबारा कोशिश नहीं करता | नहीं | ब्लूटूथ को प्राथमिकता दी जाती है. हालांकि, अगर सिर्फ़ वाई-फ़ाई कनेक्शन उपलब्ध है, तो उसका इस्तेमाल किया जा सकता है | नहीं |
| चैनल क्लाइंट | कोई परसिस्टेंस नहीं (कनेक्शन-ओरिएंटेड) | हां | ब्लूटूथ को प्राथमिकता दी जाती है. हालांकि, अगर सिर्फ़ वाई-फ़ाई कनेक्शन उपलब्ध है, तो उसका इस्तेमाल किया जा सकता है | नहीं |
डेटा लेयर एपीआई के साथ काम करने के बारे में ज़्यादा जानने के लिए, डेटा सिंक करें गाइड देखें. डेटा लेयर एपीआई का इस्तेमाल करते समय, बैटरी की खपत को कम करने के लिए, बैटरी बचाएं गाइड देखें.