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

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

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

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

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

आसान यूज़र इंटरैक्शन

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

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

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

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

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

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

  • BigPictureStyle
  • BigTextStyle
  • InboxStyle

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

सूचना चैनल को आसानी से मैनेज करना

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

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

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

टेबल 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

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

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

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