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 |
|
चश्मे की प्रोफ़ाइल
चश्मे की प्रोफ़ाइल, Android 14 में पेश की गई है.
यहां दी गई टेबल में,
COMPANION_DEVICE_GLASSES
डिवाइस प्रोफ़ाइल के लिए तय की गई अनुमतियों और उनका इस्तेमाल करने की ज़रूरी शर्तों के बारे में बताया गया है.
| अनुमतियां | कंपैनियन ऐप्लिकेशन और डिवाइस की ज़रूरी शर्तें |
|---|---|
सूचनाएंPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
लागू करना
तीसरे पक्ष के डेवलपर, कंपैनियन ऐप्लिकेशन लागू करने के लिए जो
DEVICE_PROFILE_WATCH
प्रोफ़ाइल का अनुरोध करता है, यह तरीका अपनाएं:
Call the
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का इस्तेमाल करें.
सत्यापन
कंपैनियन डिवाइस प्रोफ़ाइल की सुविधा के व्यवहार की जांच करने के लिए, सीटीएस
टेस्ट का इस्तेमाल करें
cts/tests/tests/companion/.