Android 12 में स्मार्टवॉच के साथ काम करने वाले साथी ऐप्लिकेशन की प्रोफ़ाइल की सुविधा शुरू की गई थी. इसकी मदद से, साथी ऐप्लिकेशन, स्मार्टवॉच के हिसाब से अनुमतियों के सेट का अनुरोध कर सकते हैं. साथ में इस्तेमाल किए जाने वाले डिवाइस की प्रोफ़ाइल का इस्तेमाल करने से, रजिस्टर करने की प्रोसेस आसान हो जाती है. ऐसा इसलिए, क्योंकि इससे ऐप्लिकेशन को उपयोगकर्ताओं के मोबाइल डिवाइसों पर एक ही प्रॉम्प्ट दिखाने की अनुमति मिलती है. इस प्रॉम्प्ट में, अनुमतियों के तय किए गए सेट का अनुरोध किया जाता है. इसके बजाय, अलग-अलग अनुमतियों का अनुरोध करने वाले कई प्रॉम्प्ट दिखाए जाते हैं. इससे सेटअप करने का अनुभव बेहतर हो सकता है. साथ ही, कंपैनियन ऐप्लिकेशन के लिए ऑप्ट-इन करने की दरें बेहतर हो सकती हैं.
साथी डिवाइस की प्रोफ़ाइलों का इस्तेमाल करने के लिए, साथी ऐप्लिकेशन को ये ज़रूरी शर्तें पूरी करनी होंगी:
- साथी डिवाइस (जैसे, स्मार्टवॉच) को मैनेज करना.
- ऐप्लिकेशन में ऐसी सुविधाएं हों या Android के ऐसे एपीआई कॉल किए गए हों जिनके लिए, कंपैनियन डिवाइस की प्रोफ़ाइल के लिए तय की गई सभी अनुमतियों की ज़रूरत हो.
साथ में इस्तेमाल किए जा सकने वाले हर डिवाइस की प्रोफ़ाइल, Android की किसी भूमिका से जुड़ी होती है. हर प्रोफ़ाइल की अनुमतियों और उससे जुड़ी Android भूमिका के बारे में ज़्यादा जानने के लिए, तीसरे पक्ष के ऐप्लिकेशन के लिए कंपैनियन डिवाइस प्रोफ़ाइलें लेख पढ़ें.
कंपैनियन डिवाइसों के बारे में ज़्यादा जानने के लिए, कंपैनियन डिवाइस को जोड़ना लेख पढ़ें.
डिवाइस का बिहेवियर
इस सेक्शन में बताया गया है कि कंपैनियन डिवाइस की प्रोफ़ाइलें इस्तेमाल करने पर, डिवाइस कैसा व्यवहार करता है.
जब कोई उपयोगकर्ता, कंपैनियन डिवाइस के साथ असोसिएशन बनाने के लिए किसी ऐप्लिकेशन के अनुरोध को स्वीकार करता है, तो CompanionDeviceManager
(सीडीएम) सेवा, कंपैनियन ऐप्लिकेशन को डिवाइस प्रोफ़ाइल की भूमिका (उदाहरण के लिए, घड़ी) असाइन करती है. इससे, उसे प्रोफ़ाइल की भूमिका के लिए तय की गई सभी अनुमतियां मिल जाती हैं.
पहली इमेज में, COMPANION_DEVICE_WATCH
डिवाइस प्रोफ़ाइल के लिए अनुमतियों का अनुरोध करने वाले ऐप्लिकेशन का उदाहरण दिखाया गया है.
पहली इमेज. स्मार्टवॉच डिवाइस की प्रोफ़ाइल के लिए अनुमतियों का अनुरोध करने वाला डायलॉग बॉक्स.
जब कोई उपयोगकर्ता, सेटिंग में जाकर पैकेज का डेटा मिटाता है या कंपैनियन ऐप्लिकेशन में मौजूद सभी डिवाइसों को हटाता है, तब सीडीएम उस प्रोफ़ाइल को रद्द कर देता है. ऐसा तब होता है, जब ऐप्लिकेशन फ़ोरग्राउंड में न चल रहा हो और न ही फ़ोरग्राउंड सेवा चल रही हो. प्रोफ़ाइल का ऐक्सेस रद्द करने से, प्रोफ़ाइल के लिए तय की गई सभी अनुमतियां भी रद्द हो जाती हैं.
जब कोई उपयोगकर्ता, किसी ऐप्लिकेशन को किसी डिवाइस प्रोफ़ाइल के लिए अनुमतियां देने का अनुरोध स्वीकार करता है, तो उसके पास दी गई अनुमतियों को वापस लेने का विकल्प होता है. जब कोई उपयोगकर्ता किसी अनुमति को रद्द करता है, तो ऐप्लिकेशन, कंपैनियन डिवाइस से जुड़ा रहता है. हालांकि, ऐसा हो सकता है कि कुछ सुविधाएं उपलब्ध न हों. अगर ऐप्लिकेशन के काम करने के लिए अनुमति ज़रूरी है, तो ऐप्लिकेशन को सामान्य अनुमति का अनुरोध करके अनुमति मांगनी होगी.
तीसरे पक्ष के ऐप्लिकेशन के लिए, कंपैनियन डिवाइस की प्रोफ़ाइलें
वॉच प्रोफ़ाइल
स्मार्टवॉच प्रोफ़ाइल की सुविधा, Android 12 में लॉन्च की गई है.
यहां दी गई टेबल में, डिवाइस प्रोफ़ाइल के लिए तय की गई अनुमतियों और उन्हें इस्तेमाल करने की ज़रूरी शर्तों के बारे में बताया गया है.COMPANION_DEVICE_WATCH
अनुमतियां | कंपैनियन ऐप्लिकेशन और डिवाइस से जुड़ी ज़रूरी शर्तें |
---|---|
सूचनाएं
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
चश्मे की प्रोफ़ाइल
Glasses की प्रोफ़ाइल बनाने की सुविधा, Android 14 में जोड़ी गई है.
यहां दी गई टेबल में, डिवाइस प्रोफ़ाइल के लिए तय की गई अनुमतियों और उन्हें इस्तेमाल करने की ज़रूरी शर्तों के बारे में बताया गया है.COMPANION_DEVICE_GLASSES
अनुमतियां | कंपैनियन ऐप्लिकेशन और डिवाइस से जुड़ी ज़रूरी शर्तें |
---|---|
सूचनाएंPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
लागू करना
तीसरे पक्ष के ऐसे डेवलपर जो कंपैनियन ऐप्लिकेशन लागू कर रहे हैं और उन्हें DEVICE_PROFILE_WATCH
प्रोफ़ाइल का अनुरोध करना है, वे यह तरीका अपनाएं:
setDeviceProfile
तरीके को कॉल करें.कोई प्रोफ़ाइल पास करें. उदाहरण के लिए,
DEVICE_PROFILE_WATCH
बनाते समयAssociationRequest
.
डिवाइस बनाने वाली कंपनियां, उपयोगकर्ता की सहमति वाला डायलॉग बॉक्स न दिखाने के लिए इस कुकी का इस्तेमाल करती हैं
डिवाइस बनाने वाली कंपनियों को किसी डिवाइस के साथ कंपैनियन ऐप्लिकेशन लागू करने के लिए, Android सिस्टम के इन ज़रूरी कॉन्फ़िगरेशन का इस्तेमाल करना होगा. इससे कंपैनियन ऐप्लिकेशन को सर्टिफ़िकेट मिल पाएगा. साथ ही, ऐप्लिकेशन को उपयोगकर्ताओं के लिए, सहमति लेने वाला डायलॉग बॉक्स दिखाने की ज़रूरत नहीं पड़ेगी.
इस कमांड का इस्तेमाल करके सर्टिफ़िकेट पाएं:
keytool -printcert -jarfile PATH/TO/APK
कॉन्फ़िगरेशन फ़ाइल में, पैकेज का नाम और सर्टिफ़िकेट बदलें. इसके लिए, यहां दिए गए सैंपल इनपुट का इस्तेमाल करें:
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>
किसी एक कंपैनियन डिवाइस के साथ असोसिएशन का अनुरोध करने के लिए,
AssociationRequest
का इस्तेमाल करें.
Validation
कंपैनियन डिवाइस प्रोफ़ाइल की सुविधा के काम करने के तरीके की जांच करने के लिए, cts/tests/tests/companion/
में CTS टेस्ट का इस्तेमाल करें.