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

Android 12 में पेश की गई साथी डिवाइस की प्रोफ़ाइल, एक ऐसी सुविधा है जिसकी मदद से साथी ऐप्लिकेशन, साथी डिवाइस के टाइप के हिसाब से अनुमतियों के सेट का अनुरोध कर सकते हैं. जैसे, स्मार्टवॉच. साथी डिवाइस की प्रोफ़ाइल का इस्तेमाल करने से, रजिस्टर करने की प्रोसेस आसान हो जाती है. इससे ऐप्लिकेशन, उपयोगकर्ताओं को उनके मोबाइल डिवाइसों पर एक ही प्रॉम्प्ट दिखा सकते हैं. इससे, अलग-अलग अनुमतियों के लिए कई प्रॉम्प्ट दिखाने के बजाय, अनुमतियों के तय किए गए सेट का अनुरोध किया जा सकता है. इससे, साथ काम करने वाले ऐप्लिकेशन को आसानी से सेट अप किया जा सकता है. साथ ही, इन ऐप्लिकेशन के लिए ऑप्ट-इन की दरें भी बेहतर हो सकती हैं.

साथी डिवाइस की प्रोफ़ाइलों का इस्तेमाल करने के लिए, साथी ऐप्लिकेशन को ये ज़रूरी शर्तें पूरी करनी होंगी:

  • साथी डिवाइस (जैसे, स्मार्टवॉच) मैनेज करना.
  • ऐप्लिकेशन में ऐसी सुविधाएं हों या Android के ऐसे एपीआई कॉल किए जा रहे हों जिनके लिए, साथी डिवाइस की प्रोफ़ाइल के लिए तय की गई सभी अनुमतियां ज़रूरी हों.

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

साथ काम करने वाले डिवाइसों के बारे में ज़्यादा जानने के लिए, साथ काम करने वाले डिवाइस को जोड़ना लेख पढ़ें.

डिवाइस का व्यवहार

इस सेक्शन में, साथ काम करने वाले डिवाइस की प्रोफ़ाइलों का इस्तेमाल करने पर, डिवाइस के व्यवहार के बारे में बताया गया है.

जब कोई उपयोगकर्ता किसी ऐप्लिकेशन के साथ कंपैनिऑन डिवाइस को असोसिएट करने का अनुरोध स्वीकार करता है, तो CompanionDeviceManager (सीडीएम) सेवा, कंपैनिऑन ऐप्लिकेशन को डिवाइस प्रोफ़ाइल की भूमिका (उदाहरण के लिए, स्मार्टवॉच) असाइन करती है. साथ ही, उस प्रोफ़ाइल भूमिका के लिए तय की गई सभी अनुमतियां देती है. पहली इमेज में, ऐसे ऐप्लिकेशन का उदाहरण दिया गया है जो COMPANION_DEVICE_WATCH डिवाइस प्रोफ़ाइल के लिए अनुमतियों का अनुरोध कर रहा है.

डिवाइस की प्रोफ़ाइल से जुड़ा डायलॉग बॉक्स

पहली इमेज. स्मार्टवॉच की डिवाइस प्रोफ़ाइल के लिए अनुमतियों का अनुरोध करने वाला डायलॉग.

जब कोई उपयोगकर्ता सेटिंग में जाकर पैकेज का डेटा मिटाता है या साथी ऐप्लिकेशन से सभी डिवाइस हटाता है, तो सीडीएम प्रोफ़ाइल को रद्द कर देता है. ऐसा तब होता है, जब ऐप्लिकेशन फ़ोरग्राउंड में न चल रहा हो और न ही कोई फ़ोरग्राउंड सेवा चल रही हो. प्रोफ़ाइल को रद्द करने पर, प्रोफ़ाइल के लिए तय की गई सभी अनुमतियां भी रद्द हो जाती हैं.

जब कोई उपयोगकर्ता किसी डिवाइस की किसी प्रोफ़ाइल के लिए अनुमतियां देने का अनुरोध स्वीकार कर लेता है, तो वह दी गई अनुमतियों को वापस ले सकता है. जब कोई उपयोगकर्ता अनुमति रद्द करता है, तो ऐप्लिकेशन, साथी डिवाइस से जुड़ा रहता है. हालांकि, कुछ सुविधाएं उपलब्ध नहीं हो सकतीं. अगर ऐप्लिकेशन के काम करने के लिए अनुमति ज़रूरी है, तो ऐप्लिकेशन को सामान्य अनुमति के अनुरोध के ज़रिए अनुमति का अनुरोध करना होगा.

तीसरे पक्ष के ऐप्लिकेशन के लिए, साथ काम करने वाले डिवाइस की प्रोफ़ाइलें

प्रोफ़ाइल देखना

स्मार्टवॉच प्रोफ़ाइल, Android 12 में लॉन्च की गई है.

नीचे दी गई टेबल में, COMPANION_DEVICE_WATCH डिवाइस प्रोफ़ाइल के लिए तय की गई अनुमतियों और उन्हें इस्तेमाल करने की ज़रूरी शर्तों के बारे में बताया गया है.

अनुमतियां साथी ऐप्लिकेशन और डिवाइस से जुड़ी ज़रूरी शर्तें
सूचनाएं

POST_NOTIFICATIONS (added in Android 15)
  • ब्लूटूथ और/या वाई-फ़ाई का इस्तेमाल करके कनेक्ट किया गया डिवाइस हो
  • डिवाइस में सूचनाएं दिखाने वाली स्क्रीन हो (स्क्रीन के बजाय, हैप्टिक्स का इस्तेमाल करने वाले डिवाइसों को शामिल नहीं किया गया है)
  • उपयोगकर्ता को सूचनाओं का बेहतर अनुभव देता है. उदाहरण के लिए, साथी डिवाइस की स्क्रीन पर फ़ोन की सूचनाएं दिखाना.
  • डिवाइस मैनेजमेंट के लिए, फ़ोन पर सूचनाएं पोस्ट करता है. उदाहरण के लिए, जब स्मार्टवॉच कनेक्ट हो या कोई खास सुविधा चालू हो.
Phone
  • ब्लूटूथ और/या वाई-फ़ाई का इस्तेमाल करके कनेक्ट किया गया डिवाइस हो
  • उसमें पहले से मौजूद माइक्रोफ़ोन और स्पीकर की सुविधा हो, ताकि आवाज़ की मदद से बातचीत की जा सके
  • उसमें कॉल करने वाले की जानकारी दिखाने वाली स्क्रीन हो
  • उपयोगकर्ता को फ़ोन कॉल करने की सुविधा देता है (साथ में काम करने वाला ऐप्लिकेशन, फ़ोन कॉल को ब्रिज करता है)
SMS
  • ब्लूटूथ और/या वाई-फ़ाई का इस्तेमाल करके कनेक्ट किया गया डिवाइस हो
  • उसमें एसएमएस मैसेज दिखाने वाली स्क्रीन हो
  • उपयोगकर्ताओं को एसएमएस की सुविधा देना
Contacts
  • ब्लूटूथ और/या वाई-फ़ाई का इस्तेमाल करके कनेक्ट किया गया डिवाइस हो
  • डिसप्ले स्क्रीन हो
  • कॉल करने या मैसेज भेजने की सुविधा के लिए, संपर्क जानकारी का इस्तेमाल करती है
Calendar
  • ब्लूटूथ और/या वाई-फ़ाई का इस्तेमाल करके कनेक्ट किया गया डिवाइस हो
  • डिसप्ले स्क्रीन हो
  • स्मार्टवॉच पर, उपयोगकर्ता को 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/ में मौजूद सीटीएस जांच का इस्तेमाल करें.