Wear OS पर सूचनाएं

स्मार्टवॉच पर सूचनाएं पाने के लिए, फ़ोन पर सूचनाएं पाने के लिए इस्तेमाल किए जाने वाले एपीआई का ही इस्तेमाल किया जाता है. साथ ही, इनका स्ट्रक्चर भी एक जैसा होता है.

स्मार्टवॉच पर सूचनाएं दो तरह से दिख सकती हैं:

  1. मोबाइल ऐप्लिकेशन एक सूचना बनाता है और सिस्टम उस सूचना को स्मार्टवॉच पर अपने-आप भेज देता है.
  2. वियरेबल डिवाइस पर मौजूद ऐप्लिकेशन, सूचना बनाता है.

दोनों ही स्थितियों में, सूचनाएं बनाने के लिए NotificationCompat.Builder क्लास का इस्तेमाल करें. बिल्डर क्लास की मदद से सूचनाएं बनाने पर, सिस्टम सूचनाओं को सही तरीके से दिखाने का काम करता है. उदाहरण के लिए, जब मोबाइल ऐप्लिकेशन से कोई सूचना भेजी जाती है, तो हर सूचना, सूचना स्ट्रीम में एक कार्ड के तौर पर दिखती है.

सूचनाएं कैसे दिखती हैं, यह देखने के लिए यहां दिया गया उदाहरण देखें. notification-cards

पहली इमेज. फ़ोन और स्मार्टवॉच पर एक ही सूचना दिख रही है.

सबसे अच्छे नतीजों के लिए, NotificationCompat.Style सबक्लास में से किसी एक का इस्तेमाल करें.

ध्यान दें: RemoteViews का इस्तेमाल करने पर, सूचनाओं से कस्टम लेआउट हट जाते हैं. साथ ही, पहनने लायक डिवाइस पर सिर्फ़ टेक्स्ट और आइकॉन दिखते हैं.

पहने जाने वाले डिवाइसों के लिए, सूचनाएं पाने का सुझाव

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

NotificationCompat.Style सबक्लास का इस्तेमाल करके, मोबाइल की तरह ही बड़ी की जा सकने वाली सूचना बनाएं. उदाहरण के लिए, NotificationCompat.MessagingStyle का इस्तेमाल करके बनाई गई स्टैंडर्ड सूचना इस तरह दिखती है: expandable-notification

दूसरी इमेज. Wear OS पर MessagingStyle सूचना का उदाहरण.

आपको सूचना में कई कार्रवाइयां दिख सकती हैं. ये कार्रवाइयां, सूचना को बड़ा करने पर सबसे नीचे दिखती हैं.

अहम जानकारी: अगर आपकी सूचनाओं में "जवाब दें" कार्रवाई शामिल है, जैसे कि मैसेजिंग ऐप्लिकेशन के लिए, तो सूचना के व्यवहार को बेहतर बनाया जा सकता है. उदाहरण के लिए, सीधे तौर पर पहने जाने वाले डिवाइस से, आवाज़ से जवाब देने की सुविधा चालू की जा सकती है. इसके अलावा, setChoices() की मदद से, पहले से तय किए गए टेक्स्ट वाले जवाब देने की सुविधा भी चालू की जा सकती है. ज़्यादा जानकारी के लिए, जवाब देने का बटन जोड़ना लेख पढ़ें.

डुप्लीकेट सूचनाएं पाने से बचें

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

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

Wear OS, ब्रिजिंग एपीआई की मदद से डुप्लीकेट सूचनाएं पाने की सुविधा बंद करने का तरीका उपलब्ध कराता है. यह खास तौर पर उन डिवाइसों पर मौजूद ऐप्लिकेशन के लिए ज़रूरी है जिन पर Wear OS 5 या इसके बाद का वर्शन चलता है. ऐसा इसलिए, क्योंकि मोबाइल डिवाइस पर खारिज की जा सकने वाली कुछ सूचनाएं, Wear OS डिवाइस पर खारिज नहीं की जा सकतीं. ज़्यादा जानकारी के लिए, सूचनाओं के लिए ब्रिजिंग के विकल्प लेख पढ़ें.

सूचना में, पहनने लायक डिवाइसों के लिए खास सुविधाएं जोड़ना

अगर आपको किसी सूचना में, पहनने लायक डिवाइस के लिए खास तौर पर बनाई गई सुविधाएं जोड़नी हैं, तो NotificationCompat.WearableExtender क्लास का इस्तेमाल करके विकल्प तय किए जा सकते हैं. जैसे, पहनने लायक डिवाइस पर सूचना में ऐप्लिकेशन का आइकॉन छिपाना या लोगों को बोलकर टेक्स्ट जवाब देने की सुविधा देना. इस एपीआई का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. WearableExtender का एक इंस्टेंस बनाएं. साथ ही, सूचना के लिए, पहने जाने वाले डिवाइस से जुड़े विकल्प सेट करें.
  2. NotificationCompat.Builder का एक इंस्टेंस बनाएं. साथ ही, इस गाइड में पहले बताए गए तरीके के मुताबिक, अपनी सूचना के लिए ज़रूरी प्रॉपर्टी सेट करें.
  3. सूचना पर मौजूद, extend() पर कॉल करें और WearableExtender पास करें. इससे, सूचना पर पहने जाने वाले डिवाइस के विकल्प लागू हो जाते हैं.
  4. सूचना बनाने के लिए, build() को कॉल करें.

ध्यान दें: अगर फ़्रेमवर्क के NotificationManager का इस्तेमाल किया जाता है, तो NotificationCompat.WearableExtender की कुछ सुविधाएं काम नहीं करती हैं. इसलिए, NotificationCompat का इस्तेमाल करना न भूलें.

उपयोगकर्ता के सभी डिवाइसों पर, सूचनाएं खारिज करने या रद्द करने की सुविधा को सिंक किया जा सकता है. किसी सूचना को खारिज करने की जानकारी सिंक करने के लिए, setDismissalId() तरीके का इस्तेमाल करें. हर सूचना के लिए, setDismissalId() को कॉल करते समय, दुनिया भर में यूनीक आईडी को स्ट्रिंग के तौर पर पास करें. सूचना खारिज होने पर, एक ही डिसमिसल आईडी वाली अन्य सभी सूचनाएं, स्मार्टवॉच और कंपैनियन फ़ोन पर खारिज हो जाती हैं. खारिज किए गए अनुरोध का आईडी वापस पाने के लिए, getDismissalId() का इस्तेमाल करें.

सिर्फ़ स्मार्टवॉच पर की जा सकने वाली कार्रवाइयां तय करना

अगर आपको स्मार्टवॉच और फ़ोन पर अलग-अलग कार्रवाइयां करनी हैं, तो WearableExtender.addAction() का इस्तेमाल करें. इस तरीके से कोई कार्रवाई जोड़ने के बाद, पहने जाने वाले डिवाइस पर NotificationCompat.Builder.addAction() का इस्तेमाल करके जोड़ी गई कोई अन्य कार्रवाई नहीं दिखती. WearableExtender.addAction() की मदद से जोड़ी गई कार्रवाइयां, सिर्फ़ पहनने लायक डिवाइस पर दिखती हैं. ये फ़ोन पर नहीं दिखतीं.

पहने जाने वाले डिवाइस से फ़ोन ऐप्लिकेशन लॉन्च करना

ब्रिज की गई सूचनाओं का इस्तेमाल करने पर, हर सूचना में फ़ोन पर ऐप्लिकेशन लॉन्च करने के लिए एक बटन अपने-आप शामिल हो जाता है. हालांकि, अगर आपको घड़ी पर बनाई गई स्थानीय सूचना का इस्तेमाल करना है, तो फ़ोन पर ऐप्लिकेशन लॉन्च करने वाला बटन बनाने के लिए, यह तरीका अपनाएं:

  1. ConfirmationActivity को बढ़ाने वाला नया Activity बनाएं.
  2. फ़ोन ऐप्लिकेशन लॉन्च करने के लिए, नए Activity में RemoteActivityHelper का इस्तेमाल करें.
  3. सूचना से Activity लॉन्च करने के लिए Intent बनाते समय, EXTRA_ANIMATION_TYPE एक्स्ट्रा को OPEN_ON_PHONE_ANIMATION पर सेट करें.
इस तरीके से, उपयोगकर्ता को अपने फ़ोन पर इंटरैक्ट करने का तरीका बताया जाता है. साथ ही, बैकग्राउंड प्रोसेस लॉन्च करने के लिए प्लैटफ़ॉर्म की ज़रूरी शर्तों का पालन किया जाता है.

ध्यान दें: सूचना देने की कार्रवाई के लिए, BroadcastReceiver को टारगेट के तौर पर इस्तेमाल नहीं किया जा सकता.