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

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. प्रोफ़ाइल में पास (उदाहरण के लिए, AssociationRequest बनाते समय DEVICE_PROFILE_WATCH.

डिवाइस बनाने वाली कंपनियां, किसी खास डिवाइस के साथ साथी ऐप्लिकेशन लागू कर सकती हैं. साथी ऐप्लिकेशन को सर्टिफ़िकेट देने के लिए, यहां दिए गए 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 का इस्तेमाल करें.

पुष्टि करें

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