Android Automotive OS पर सूचनाएं

सूचनाओं के ज़रिए, ड्राइवर को आपके ऐप्लिकेशन के इवेंट के बारे में कम शब्दों में और समय पर जानकारी मिलती है. यह जानकारी तब मिलती है, जब ड्राइवर ऐप्लिकेशन का इस्तेमाल नहीं कर रहा होता है. सूचनाएं, सूचना केंद्र में दिख सकती हैं. साथ ही, कुछ सूचनाएं डिसप्ले पर हेड्स-अप सूचनाओं के तौर पर भी दिख सकती हैं. Android Automotive OS के लिए सूचनाएं बनाने के लिए, उसी NotificationBuilder एपीआई का इस्तेमाल किया जाता है जिसका इस्तेमाल अन्य डिवाइसों के लिए किया जाता है. हालांकि, ड्राइवरों की सुरक्षा को ध्यान में रखते हुए और उनका ध्यान भटकने से रोकने के लिए, एपीआई के कुछ तरीकों और क्लास पर पाबंदी लगाई गई है या वे अलग तरीके से काम करते हैं.

कार में सूचनाएं अलग-अलग कैसे दिखती हैं

ड्राइविंग के दौरान ध्यान भटकाने वाली चीज़ों से बचने और सुरक्षित ड्राइविंग के लिए, Android Automotive OS पर मिलने वाली सूचनाएं, अन्य डिवाइसों पर मिलने वाली सूचनाओं से इन मामलों में अलग होती हैं:

  • उपयोगकर्ता के लिए आसान इंटरैक्शन
  • ड्राइविंग की स्थिति के आधार पर यूज़र एक्सपीरियंस से जुड़ी पाबंदियां

उपयोगकर्ता के लिए आसान इंटरैक्शन

ड्राइवर सड़क पर ध्यान दे पाएं, इसके लिए कार में मिलने वाली सूचनाओं में उपयोगकर्ता के इंटरैक्शन का आसान मॉडल होता है. इसमें ये सुविधाएं शामिल होती हैं:

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

Android Automotive OS, कार के साथ काम करने वाले मैसेजिंग ऐप्लिकेशन की सभी सूचनाओं में चलाएं और म्यूट करें बटन अपने-आप जोड़ देता है.

  • पढ़कर सुनाना: यह सुविधा, ड्राइवर को सूचना पढ़कर सुनाती है. इसके लिए, उपयोगकर्ता के डिवाइस में डिफ़ॉल्ट रूप से सेट की गई डिजिटल असिस्टेंट (जैसे, Google Assistant) या वाहन में डिफ़ॉल्ट रूप से मौजूद टेक्स्ट को पढ़कर सुनाने वाले सिस्टम का इस्तेमाल किया जाता है.
  • म्यूट करें: इस विकल्प को चुनने पर, ड्राइव पूरी होने तक बातचीत में शामिल किसी भी व्यक्ति से मिलने वाले मैसेज की सूचनाएं नहीं दिखेंगी. म्यूट की गई बातचीत से मिलने वाली सूचनाएं अब भी सूचना केंद्र में दिखती हैं. साथ ही, ड्राइवर सूचना केंद्र से बातचीत को अनम्यूट भी कर सकता है.

सूचनाएं दिखाने के विकल्पों को आसान बनाया गया

RemoteViews और कस्टम कॉन्टेंट व्यू काम नहीं करते. इसके अलावा, सूचनाओं की इन शैलियों का इस्तेमाल नहीं किया जा सकता:

  • BigPictureStyle
  • BigTextStyle
  • InboxStyle
  • ProgressStyle

अगर आपका ऐप्लिकेशन, इनमें से किसी सूचना स्टाइल का इस्तेमाल करके Android Automotive OS को सूचना भेजता है, तो सिर्फ़ खास जानकारी वाला टेक्स्ट दिखाया जाता है.

सूचना चैनल को आसानी से मैनेज करने की सुविधा

Android Automotive OS, सूचना चैनलों और उनसे जुड़े यूज़र इंटरफ़ेस (यूआई) की सुविधाओं के साथ काम नहीं करता. ऐसा इसलिए किया गया है, ताकि ऑटोमोटिव डिवाइसों में मैनेजमेंट से जुड़े टास्क को कम किया जा सके.

ड्राइविंग की स्थिति के आधार पर यूज़र एक्सपीरियंस से जुड़ी पाबंदियां

Android Automotive OS में यूएक्स रिस्ट्रिक्शन इंजन शामिल होता है. कार बनाने वाली कंपनियां, इस इंजन का इस्तेमाल करके कार की ड्राइविंग की स्थिति के आधार पर नोटिफ़िकेशन को इन तरीकों से सीमित कर सकती हैं:

  • सूचनाओं की स्ट्रिंग को वर्णों की तय लंबाई के हिसाब से काटना-छांटना
  • CATEGORY_MESSAGE सूचनाओं के लिए, मैसेज की खास जानकारी छिपाना
  • सूचना केंद्र में दिखने वाली सूचनाओं की संख्या सीमित करना

इस्तेमाल किए जा सकने वाले संसाधन टाइप

डिफ़ॉल्ट रूप से, Android Automotive OS में कुछ ही तरह के संसाधनों का इस्तेमाल किया जा सकता है. इन संसाधनों का इस्तेमाल, अन्य डिवाइसों पर सूचनाएं पाने के लिए किया जा सकता है. इस सबसेट में, ये रिसॉर्स टाइप शामिल हैं:

  • ड्रॉएबल
  • आइकॉन
  • इमेज

मैसेजिंग से जुड़ी सूचनाओं के लिए, डिवाइस के साथ काम करने की ज़रूरी शर्तें

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

मैसेजिंग की सूचना, कार के साथ तब काम करती है, जब वह ये ज़रूरी शर्तें पूरी करती हो:

  • यह CATEGORY_MESSAGE कैटगरी से जुड़ा है.
  • इसमें Notification.MessagingStyle स्टाइल का इस्तेमाल किया गया है.
  • इसमें सिर्फ़ वे मैसेज शामिल होते हैं जिन्हें पढ़ा नहीं गया है.
  • इसमें 'पढ़ा गया' के तौर पर मार्क करने का विकल्प Action होना चाहिए. साथ ही, यह इन ज़रूरी शर्तों को पूरा करता हो:

    • सिमैंटिक ऐक्शन को Action.SEMANTIC_ACTION_MARK_AS_READ पर सेट किया गया है.
    • Action से पता चलता है कि ट्रिगर होने पर यह कोई भी उपयोगकर्ता इंटरफ़ेस नहीं दिखाता.
  • अगर सूचना में जवाब Action है, तो Action इन ज़रूरी शर्तों को पूरा करता है:

    • सिमैंटिक ऐक्शन को Action.SEMANTIC_ACTION_REPLY पर सेट किया गया है.
    • Action से पता चलता है कि ट्रिगर होने पर यह कोई भी उपयोगकर्ता इंटरफ़ेस नहीं दिखाता.
    • Action में सिर्फ़ एक RemoteInput शामिल है.

सूचना केंद्र

सूचना केंद्र में लगभग सभी सूचनाएं दिखती हैं. भले ही, वे सूचनाएं हेड्स-अप सूचनाओं के तौर पर भी ट्रिगर हुई हों. सूचनाएं, ड्राइव के दौरान सूचना केंद्र में बनी रहती हैं.

ड्राइवर, सूचना केंद्र में जाकर सूचनाओं के साथ इंटरैक्ट कर सकते हैं. कार बनाने वाली कंपनी के हिसाब से, ड्राइवर सूचना केंद्र को इनमें से किसी एक या दोनों तरीकों से ऐक्सेस कर सकते हैं:

  • स्क्रीन पर सबसे ऊपर से नीचे की ओर स्वाइप करके, सूचना पैनल को ऐक्सेस किया जा सकता है. यह सुविधा, अन्य डिवाइसों पर भी उपलब्ध है.
  • सिस्टम इंटरफ़ेस में मौजूद किसी बटन पर टैप करना.

ग्रुप की गई सूचनाएं

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

सूचना केंद्र में न दिखने वाली सूचनाएं

सूचना केंद्र में ये सूचनाएं नहीं दिखती हैं:

  • Media playback सूचनाएं. मीडिया चलाने की मौजूदा स्थिति के बारे में जानकारी, Android Automotive OS इकट्ठा करता है. इसके बाद, इसे उपयोगकर्ता इंटरफ़ेस में एक खास जगह पर दिखाया जाता है. ध्यान दें कि सूचना को मीडिया प्लेबैक के तौर पर पहचानने के लिए, setMediaSession को ऐसे टोकन के साथ कॉल किया जाना चाहिए जो शून्य न हो.
  • CATEGORY_NAVIGATION के लिए, रास्ते के दिशा-निर्देशों से जुड़ी सूचनाएं.
  • सिस्टम के विशेषाधिकार वाले ऐप्लिकेशन और ऐसे ऐप्लिकेशन के लिए फ़ोरग्राउंड सेवा की सूचनाएँ जिन्हें प्लैटफ़ॉर्म की कुंजी से साइन किया गया है और जिनका अहमियत लेवल IMPORTANCE_DEFAULT से कम है.

स्क्रीन पर सबसे ऊपर दिखने वाली सूचनाएं

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

कार बनाने वाली कंपनियां यह तय कर सकती हैं कि सूचना केंद्र खुला होने पर, स्क्रीन पर सबसे ऊपर सूचनाएं देने वाले कार्ड दिखें या नहीं.

ऐप्लिकेशन, स्क्रीन पर सबसे ऊपर सूचनाएं देने वाले कार्ड को कैसे ट्रिगर करते हैं

सिस्टम के विशेषाधिकारों के आधार पर, ऐप्लिकेशन के लिए ज़रूरी शर्तें अलग-अलग होती हैं.

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

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

स्क्रीन पर सबसे ऊपर सूचना देने वाले कार्ड की लाइफ़

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

  • कुछ इनकमिंग कॉल के लिए, स्क्रीन पर सबसे ऊपर दिखने वाली सूचनाओं को खारिज नहीं किया जा सकता. ये सूचनाएं तब तक दिखती हैं, जब तक ड्राइवर कॉल स्वीकार नहीं कर लेता या कॉल खत्म नहीं हो जाता. इनकमिंग कॉल के लिए, ऐसी सूचना को 'बंद न की जा सकने वाली सूचना' के तौर पर दिखाया जाता है जिसे बंद नहीं किया जा सकता. इसके लिए, सूचना को ये ज़रूरी शर्तें पूरी करनी होंगी:

  • अगर कोई ऐप्लिकेशन, आठ सेकंड की समयावधि में सूचना को अपडेट करता है, तो हेड्स-अप सूचनाएं बनी रहती हैं.

हेड-अप सूचना को खारिज करने पर, वह सूचना केंद्र में दिखती है. हालांकि, CATEGORY_NAVIGATION सूचनाएं इसमें शामिल नहीं होती हैं.

कार के लिए सूचना देने वाले एपीआई में हुए बदलाव और पाबंदियां

इस सेक्शन में, हर उस क्लास के बारे में खास जानकारी दी गई है जहां Notifications API अलग तरीके से काम करता है या Android Automotive OS के लिए इस पर पाबंदियां हैं.

Notification.Builder

पहली और दूसरी टेबल में, Notification.Builder क्लास में हुए एपीआई बदलावों और पाबंदियों के बारे में बताया गया है.

टेबल 1. Notification.Builder के लिए सार्वजनिक तरीकों में बदलाव

सार्वजनिक तरीके प्रभाव ब्यौरा

addAction()

शर्त पूरी न होने पर कोई कार्रवाई न करना Notification.MessagingStyle सूचनाओं में, साथ मिलकर काम करने की ज़रूरी शर्तों में बताई गई कार्रवाइयां शामिल होनी चाहिए. जोड़ी गई अन्य कार्रवाइयों को सूचना बटन के तौर पर रेंडर नहीं किया जाएगा.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

कोई कार्रवाई नहीं RemoteViews और कस्टम कॉन्टेंट व्यू काम नहीं करते.

setBadgeIconType()

setNumber()

कोई कार्रवाई नहीं सूचना वाले बैज दिखाने की सुविधा काम नहीं करती.

setChronometerCountDown()

setUsesChronometer()

कोई कार्रवाई नहीं काउंटडाउन टाइमर का इस्तेमाल नहीं किया जा सकता.
setColorized() बदले गए कंस्ट्रेंट

प्लैटफ़ॉर्म के हस्ताक्षर वाले ऐप्लिकेशन: कॉन्फ़िगर किए जा सकते हैं. इनकी अनुमति डिफ़ॉल्ट रूप से होती है.

सिस्टम के खास अधिकार वाले ऐप्लिकेशन: इन्हें प्लैटफ़ॉर्म कॉन्फ़िगर करता है; इन्हें डिफ़ॉल्ट रूप से अनुमति नहीं दी जाती.

अन्य सभी ऐप्लिकेशन: प्लैटफ़ॉर्म के ज़रिए कॉन्फ़िगर किए जाते हैं. इन्हें डिफ़ॉल्ट रूप से अनुमति नहीं दी जाती.

setFullScreenIntent() बदलाव किया गया इससे इंटेंट अपने-आप लॉन्च नहीं होता.
setLargeIcon() बदलाव किया गया सूचना के दाईं ओर बड़े आइकॉन दिखाए जाते हैं.
setLights() कोई कार्रवाई नहीं Android Automotive OS डिवाइसों में एलईडी इंडिकेटर लाइट नहीं होती हैं.
setOngoing() बदलाव किया गया

जब सूचना, स्क्रीन पर सबसे ऊपर दिखने वाली सूचना को भी ट्रिगर करती है, तो इसका व्यवहार अलग होता है.

setOngoing() सिर्फ़ तब स्क्रीन पर सबसे ऊपर दिखने वाली सूचना को खारिज नहीं किया जा सकता, जब वह सूचना किसी इनकमिंग कॉल के लिए हो. इनकमिंग कॉल के लिए, स्क्रीन पर सबसे ऊपर दिखने वाली सूचना के तौर पर दिखने के लिए, किसी सूचना को setPublicVersion()

setVisibility()

कोई कार्रवाई नहीं निजी मोड काम नहीं करता है.
setSettingsText() कोई कार्रवाई नहीं सूचनाओं में, ऐप्लिकेशन की सेटिंग से लिंक करने की सुविधा काम नहीं करती. ड्राइवर, ऐप्लिकेशन की सेटिंग को ऐक्सेस करने के लिए, ऐप्लिकेशन का इस्तेमाल करते हैं.
setTicker() कोई कार्रवाई नहीं टिकर टेक्स्ट का इस्तेमाल नहीं किया जा सकता.

टेबल 2. Notification.Builder के लिए नेस्ट की गई क्लास में किए गए बदलाव

नेस्ट की गई क्लास प्रभाव ब्यौरा

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

उपयोग नहीं किया गया सिर्फ़ खास जानकारी वाला टेक्स्ट दिखता है. इन स्टाइल के लिए, सूचनाएं पाने की सुविधा उपलब्ध नहीं है.
Notification.BubbleMetadata उपयोग नहीं किया गया बबल का इस्तेमाल नहीं किया जा सकता.
Notification.MediaStyle छिपा हुआ इस स्टाइल वाली सूचनाएं छिपी हुई हैं. Android Automotive OS, मीडिया की सूचनाओं और उन्हें चलाने के लिए, यूज़र इंटरफ़ेस के इंटरैक्शन को मैनेज करता है.
Notification.MessagingStyle बदलाव किया गया

इस स्टाइल वाली सूचनाओं में ये अंतर होते हैं:

Notification.CarExtender

Notification.WearableExtender

उपयोग नहीं किया गया एक्सटेंडर काम नहीं करते हैं.

Notification.Action.Builder

तीसरी टेबल में, Notification.Action.Builder क्लास में हुए एपीआई बदलावों और पाबंदियों के बारे में बताया गया है.

टेबल 3. Notification.Action.Builder के लिए सार्वजनिक तरीकों में बदलाव

सार्वजनिक तरीके प्रभाव ब्यौरा
पब्लिक कंस्ट्रक्टर बदलाव किया गया सार्वजनिक कंस्ट्रक्टर में दिए गए आइकॉन अनदेखे किए जाते हैं.
addRemoteInput बदलाव किया गया ड्राइवर का ध्यान बँटने से बचाने के लिए, Google Assistant जैसी डिजिटल असिस्टेंट, उपयोगकर्ता के लिए मैसेज का जवाब लिखती है. उपयोगकर्ता मैसेज टाइप नहीं कर सकते.
setAllowGeneratedReplies कोई कार्रवाई नहीं स्मार्ट जवाब की सुविधा उपलब्ध नहीं है.