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

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

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

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

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

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

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

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

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

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

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

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

अगर आपका ऐप्लिकेशन, इनमें से किसी सूचना स्टाइल का इस्तेमाल करके 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 या इससे ज़्यादा पर सेट करके, स्क्रीन पर सबसे ऊपर सूचना देने वाले कार्ड के तौर पर ट्रिगर कर सकता है. साथ ही, यह पुष्टि कर सकता है कि सूचना इनमें से किसी एक कैटगरी से जुड़ी है:

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

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

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

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

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

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

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

Notification.Builder

टेबल 1 और 2 में, 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 कोई कार्रवाई नहीं स्मार्ट जवाब की सुविधा उपलब्ध नहीं है.