कंपैनियन डिवाइस की प्रोफ़ाइलें

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 प्रोफ़ाइल का अनुरोध करना है, वे यह तरीका अपनाएं:

  1. setDeviceProfile तरीके को कॉल करें.

  2. कोई प्रोफ़ाइल पास करें. उदाहरण के लिए, DEVICE_PROFILE_WATCH बनाते समय AssociationRequest.

डिवाइस बनाने वाली कंपनियों को किसी डिवाइस के साथ कंपैनियन ऐप्लिकेशन लागू करने के लिए, Android सिस्टम के इन ज़रूरी कॉन्फ़िगरेशन का इस्तेमाल करना होगा. इससे कंपैनियन ऐप्लिकेशन को सर्टिफ़िकेट मिल पाएगा. साथ ही, ऐप्लिकेशन को उपयोगकर्ताओं के लिए, सहमति लेने वाला डायलॉग बॉक्स दिखाने की ज़रूरत नहीं पड़ेगी.

  1. इस कमांड का इस्तेमाल करके सर्टिफ़िकेट पाएं:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. कॉन्फ़िगरेशन फ़ाइल में, पैकेज का नाम और सर्टिफ़िकेट बदलें. इसके लिए, यहां दिए गए सैंपल इनपुट का इस्तेमाल करें:

    <!-- 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>
    
  3. किसी एक कंपैनियन डिवाइस के साथ असोसिएशन का अनुरोध करने के लिए, AssociationRequest का इस्तेमाल करें.

Validation

कंपैनियन डिवाइस प्रोफ़ाइल की सुविधा के काम करने के तरीके की जांच करने के लिए, cts/tests/tests/companion/ में CTS टेस्ट का इस्तेमाल करें.