Wearable Data Layer API, Google Play services का हिस्सा है. यह पहनने लायक डिवाइसों (जैसे कि स्मार्टवॉच) और कनेक्ट किए गए हैंडहेल्ड डिवाइसों (आम तौर पर स्मार्टफोन) के बीच एक कम्यूनिकेशन चैनल उपलब्ध कराता है. यह डिवाइसों के बीच डेटा को सिंक और ट्रांसफ़र करने का एक तरीका है.
ध्यान दें: यह एपीआई सिर्फ़ Wear OS घड़ियों और उनसे कनेक्ट किए गए Android डिवाइसों पर उपलब्ध है. iOS फ़ोन से कनेक्ट की गई Wear OS स्मार्टवॉच के लिए, ऐप्लिकेशन इंटरनेट कनेक्शन उपलब्ध होने पर, क्लाउड पर आधारित अन्य एपीआई से क्वेरी कर सकते हैं. इन अन्य एपीआई के बारे में ज़्यादा जानने के लिए, Wear OS पर नेटवर्क ऐक्सेस और सिंक करने की सुविधा पर जाएं.
चेतावनी: डेटा लेयर एपीआई को हैंडहेल्ड और पहनने योग्य डिवाइसों के बीच कम्यूनिकेशन के लिए डिज़ाइन किया गया है. इसलिए, इन डिवाइसों के बीच कम्यूनिकेशन सेट अप करने के लिए, सिर्फ़ इन एपीआई का इस्तेमाल किया जा सकता है. उदाहरण के लिए, कम लेवल के सॉकेट खोलकर कम्यूनिकेशन चैनल बनाने की कोशिश न करें.
इस्तेमाल के सामान्य उदाहरण
Data Layer API, फ़िटनेस और मीडिया के इस्तेमाल के उदाहरणों के लिए खास तौर पर मददगार है.
फ़िटनेस ऐप्लिकेशन
Wear OS ऐप्लिकेशन से मोबाइल ऐप्लिकेशन पर कसरत का डेटा भेजना, फ़िटनेस ऐप्लिकेशन को अक्सर घड़ी से कैप्चर किए गए कसरत के डेटा को मोबाइल ऐप्लिकेशन या Health Connect में सेव करने की ज़रूरत होती है. अगर डेटा ट्रांसफ़र करने के लिए Data Layer API का इस्तेमाल किया जा रहा है, तो Wear OS ऐप्लिकेशन से मोबाइल ऐप्लिकेशन पर कसरत का डेटा भेजने के लिए, मैसेज क्लाइंट का इस्तेमाल करें. इससे Health Connect में डेटा लिखा जा सकेगा.
घर पर कसरत करने के दौरान, मोबाइल डिवाइस पर लाइव डेटा स्ट्रीम करना
घर पर कसरत करने के दौरान, आम तौर पर यह होता है कि Wear OS डिवाइस से मोबाइल डिवाइस पर दिल की धड़कन का डेटा स्ट्रीम किया जाता है. साथ ही, उपयोगकर्ता को उसके मोबाइल डिवाइस की स्क्रीन पर, दिल की धड़कन की मौजूदा जानकारी दिखाई जाती है. इस डेटा को स्ट्रीम करने के लिए, चैनल क्लाइंट का इस्तेमाल करें.
मीडिया ऐप्लिकेशन
स्मार्टवॉच से फ़ोन पर मीडिया प्लेयर को रोकने/फिर से शुरू करने/शुरू करने/बंद करने की कार्रवाई को कंट्रोल करने के लिए, मैसेज क्लाइंट का इस्तेमाल करें.
कम्यूनिकेशन के विकल्प
डेटा को इनमें से किसी एक तरीके से ट्रांसफ़र किया जाता है:
- सीधे तौर पर, जब Wear OS डिवाइस और किसी दूसरे डिवाइस के बीच ब्लूटूथ कनेक्शन चालू हो.
- उपलब्ध नेटवर्क, जैसे कि एलटीई या वाई-फ़ाई का इस्तेमाल करके. इसके लिए, Google के सर्वर पर मौजूद नेटवर्क नोड को इंटरमीडियरी के तौर पर इस्तेमाल किया जाता है.
सभी डेटा लेयर क्लाइंट, ब्लूटूथ या क्लाउड का इस्तेमाल करके डेटा शेयर कर सकते हैं. यह इस बात पर निर्भर करता है कि डिवाइसों के लिए कौनसे कनेक्शन उपलब्ध हैं. मान लें कि डेटा लेयर का इस्तेमाल करके ट्रांसमिट किया गया डेटा, किसी समय Google के मालिकाना हक वाले सर्वर का इस्तेमाल कर सकता है.
ब्लूटूथ
जब डिवाइसों को ब्लूटूथ का इस्तेमाल करके कनेक्ट किया जाता है, तो डेटा लेयर इस कनेक्शन का इस्तेमाल करती है. डिवाइसों के बीच एक एन्क्रिप्ट (सुरक्षित) किया गया चैनल होता है. यह स्टैंडर्ड ब्लूटूथ एन्क्रिप्शन का इस्तेमाल करता है और इसे Google Play services मैनेज करती है.
बादल का आइकॉन
ब्लूटूथ उपलब्ध न होने पर, डेटा अपने-आप Google Cloud के ज़रिए रूट हो जाता है. Google Cloud के ज़रिए ट्रांसफ़र किए गए सभी डेटा को एंड-टू-एंड एन्क्रिप्ट (सुरक्षित) किया जाता है.
कम्यूनिकेशन की सुरक्षा
Google Play services, Wear OS डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन और आस-पास मौजूद हैंडहेल्ड डिवाइस पर इंस्टॉल किए गए उसी ऐप्लिकेशन के बीच ज़्यादा सुरक्षित तरीके से कम्यूनिकेशन करने के लिए, इन पाबंदियों को लागू करता है:
- सभी डिवाइसों पर पैकेज का नाम एक जैसा होना चाहिए.
- सभी डिवाइसों पर पैकेज का हस्ताक्षर एक जैसा होना चाहिए.
कनेक्शन टाइप चाहे जो भी हो, किसी भी अन्य ऐप्लिकेशन के पास डेटा का ऐक्सेस नहीं होता.
सेटअप
Wearable Data Layer API के लिए, इन चीज़ों की ज़रूरत होती है:
- Google Play services का नया वर्शन.
- Wear OS डिवाइस या Wear OS का एम्युलेटर.
अपने Wear मॉड्यूल की build.gradle फ़ाइल में, यह डिपेंडेंसी शामिल करें:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:19.0.0")
}
डिवाइसों को पहली बार एक-दूसरे से कनेक्ट करने की प्रोसेस को आसान बनाना
Horologist, प्लैटफ़ॉर्म एपीआई के साथ काम करने वाली कई हेल्पर लाइब्रेरी उपलब्ध कराता है. इसमें डेटा लेयर लाइब्रेरी शामिल होती है. इससे मोबाइल डिवाइस और Wear OS डिवाइस के बीच कनेक्शन बनाने में मदद मिलती है. इसके अलावा, यह इन कामों के लिए आसान एपीआई उपलब्ध कराता है:
- ऐप्लिकेशन को दूसरे डिवाइस पर इंस्टॉल करें.
- दूसरे डिवाइस पर ऐप्लिकेशन लॉन्च करें.
- दूसरे डिवाइस पर कोई गतिविधि शुरू करें.
- साथी ऐप्लिकेशन लॉन्च करें.
डेटा लेयर को ऐक्सेस करना
डेटा लेयर एपीआई को कॉल करने के लिए, Wearable
क्लास का इस्तेमाल करें. इससे आपको अलग-अलग क्लाइंट क्लास के इंस्टेंस मिलेंगे. जैसे, DataClient
और MessageClient
.
ज़्यादा जानकारी के लिए, DataLayer का उदाहरण देखें.
कम से कम क्लाइंट का इस्तेमाल करना
क्लाइंट बनाने के लिए, यहां दिया गया उदाहरण कोड देखें:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
कॉन्टेक्स्ट कोई भी मान्य Android कॉन्टेक्स्ट हो सकता है. अगर आपको Activity
के स्कोप में एपीआई का इस्तेमाल करना है, तो Wearable
क्लास के getDataClient()
तरीके का इस्तेमाल करें. इससे कुछ इंटरैक्शन, सूचनाओं के बजाय डायलॉग बॉक्स के तौर पर दिखते हैं. जैसे, जब उपयोगकर्ता को Google Play services का वर्शन अपडेट करने के लिए कहा जाता है.
डिफ़ॉल्ट रूप से, सुनने वालों को वापस कॉल करने की सुविधा, ऐप्लिकेशन के मुख्य यूज़र इंटरफ़ेस (यूआई) थ्रेड पर उपलब्ध होती है. किसी अन्य थ्रेड पर कॉल बैक करने के लिए, WearableOptions
ऑब्जेक्ट का इस्तेमाल करके, कस्टम Looper
तय करें:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
ज़्यादा जानकारी के लिए, WearableOptions.Builder
रेफ़रंस देखें.
ज़रूरत के मुताबिक क्लाइंट इंस्टेंस फिर से बनाएं
DataClient
और MessageClient
जैसे Wearable API क्लाइंट को बनाना सस्ता होता है. इसलिए, क्लाइंट को बनाए रखने के बजाय, उन्हें अपनी ज़रूरत के हिसाब से फिर से बनाएं. इसके लिए, अपने ऐप्लिकेशन के हिसाब से स्टाइल का इस्तेमाल करें.
क्लाइंट की स्थिति, जैसे कि रजिस्टर किए गए लिसनर का सेट, सभी क्लाइंट के साथ शेयर किया जाता है. साथ ही, अगर ऐप्लिकेशन के चालू रहने के दौरान Google Play services को अपडेट किया जाता है, तो इसे सुरक्षित रखा जाता है.