नेविगेशन के सिद्धांत

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

शुरुआती डेस्टिनेशन तय किया गया

आपके बनाए गए हर ऐप्लिकेशन का एक तय स्टार्ट डेस्टिनेशन होता है. यह पहली स्क्रीन होती है, जो उपयोगकर्ता को लॉन्चर से आपका ऐप्लिकेशन लॉन्च करने पर दिखती है. यह डेस्टिनेशन, वह आखिरी स्क्रीन भी होती है जो उपयोगकर्ता को 'वापस जाएं' बटन दबाकर लॉन्चर पर वापस आने पर दिखती है. उदाहरण के लिए, Sunflower ऐप्लिकेशन को देखें.

पहली इमेज. सूची वाली स्क्रीन, Sunflower ऐप्लिकेशन का स्टार्ट डेस्टिनेशन है.

लॉन्चर से Sunflower ऐप्लिकेशन लॉन्च करने पर, उपयोगकर्ता को सबसे पहले सूची वाली स्क्रीन दिखती है. इसमें उनके बगीचे में मौजूद पौधों की सूची होती है. ऐप्लिकेशन से बाहर निकलने से पहले, उन्हें यही स्क्रीन दिखती है. अगर वे सूची वाली स्क्रीन पर 'वापस जाएं' बटन दबाते हैं, तो वे लॉन्चर पर वापस चले जाते हैं.

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

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

नेविगेशन कॉम्पोनेंट, पिछली गतिविधियों के क्रम को मैनेज करता है. हालांकि, आपके पास पिछली गतिविधियों को खुद मैनेज करने का विकल्प भी होता है.

आपके ऐप्लिकेशन के टास्क में, 'ऊपर' और 'वापस जाएं' बटन एक जैसे हैं

दूसरी इमेज. 'अप' और 'वापस जाएं' बटन

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

'ऊपर जाएं' बटन, स्क्रीन पर सबसे ऊपर मौजूद ऐप्लिकेशन बार में दिखता है. आपके ऐप्लिकेशन के टास्क में, 'ऊपर जाएं' और 'वापस जाएं' बटन एक जैसा काम करते हैं.

अप बटन से आपका ऐप्लिकेशन कभी बंद नहीं होता

अगर कोई उपयोगकर्ता ऐप्लिकेशन के शुरुआती डेस्टिनेशन पर है, तो 'ऊपर जाएं' बटन नहीं दिखता. ऐसा इसलिए, क्योंकि 'ऊपर जाएं' बटन से ऐप्लिकेशन बंद नहीं होता. हालांकि, 'वापस जाएं' बटन दिखता है और इससे ऐप्लिकेशन बंद हो जाता है.

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

डीप लिंकिंग या मैन्युअल तरीके से किसी खास डेस्टिनेशन पर नेविगेट करने के लिए, 'अप' बटन का इस्तेमाल किया जा सकता है. इससे, डेस्टिनेशन से वापस शुरुआती डेस्टिनेशन पर नेविगेट किया जा सकता है.

अपने ऐप्लिकेशन के टास्क में किसी डेस्टिनेशन पर डीप लिंक करने पर, आपके ऐप्लिकेशन के टास्क के लिए मौजूद कोई भी बैक स्टैक हटा दिया जाता है. साथ ही, उसकी जगह डीप-लिंक किया गया बैक स्टैक ले लेता है.

Sunflower ऐप्लिकेशन का उदाहरण फिर से लेते हैं. मान लें कि उपयोगकर्ता ने पहले लॉन्चर स्क्रीन से ऐप्लिकेशन लॉन्च किया था और सेब की जानकारी वाली स्क्रीन पर गया था. हाल ही में इस्तेमाल किए गए ऐप्लिकेशन की स्क्रीन को देखने से पता चलेगा कि कोई टास्क मौजूद है. इसमें सबसे ऊपर मौजूद स्क्रीन, Apple की जानकारी वाली स्क्रीन है.

तीसरी इमेज. Sunflower ऐप्लिकेशन में उपयोगकर्ता का नेविगेशन और इसके बाद दिखने वाली पिछली गतिविधियां.

इस समय, उपयोगकर्ता होम बटन पर टैप करके, ऐप्लिकेशन को बैकग्राउंड में भेज सकता है. मान लें कि इस ऐप्लिकेशन में डीप लिंक की सुविधा है. इसकी मदद से, उपयोगकर्ता सीधे किसी पौधे के नाम पर क्लिक करके, उसकी जानकारी वाली स्क्रीन पर जा सकते हैं. इस डीप लिंक से ऐप्लिकेशन खोलने पर, Sunflower की मौजूदा पिछली गतिविधियां पूरी तरह से बदल जाती हैं. इन्हें इमेज 3 में दिखाया गया है. इनकी जगह, नई पिछली गतिविधियां ले लेती हैं. इन्हें इमेज 4 में दिखाया गया है:

चौथी इमेज. डीप लिंक को फ़ॉलो करने पर, Sunflower ऐप्लिकेशन के लिए मौजूदा पिछली गतिविधियां बदल जाती हैं.

ध्यान दें कि Sunflower की पिछली गतिविधियों को सिंथेटिक पिछली गतिविधियों से बदल दिया गया है. इसमें एवोकाडो की जानकारी वाली स्क्रीन सबसे ऊपर है. My Garden स्क्रीन को भी पिछली गतिविधियों में जोड़ा गया है. यह स्क्रीन, शुरुआत की जगह है. Sunflower की पिछली गतिविधियां मिट गई हैं. इसमें ऐप्लिकेशन को यह जानकारी भी शामिल है कि उपयोगकर्ता पहले Apple की जानकारी वाली स्क्रीन पर था. यह सब ज़रूरी है, क्योंकि सिंथेटिक बैक स्टैक बिलकुल असली जैसा होना चाहिए. यह पिछली गतिविधियों से मैच होना चाहिए. ऐसा तब हो सकता है, जब ऐप्लिकेशन में ऑर्गैनिक तरीके से नेविगेट किया गया हो.

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

नेविगेशन कॉम्पोनेंट, डीप लिंकिंग की सुविधा के साथ काम करता है. साथ ही, आपके नेविगेशन ग्राफ़ में किसी डेस्टिनेशन से लिंक करते समय, आपके लिए पिछली गतिविधियों का एक असल स्टैक फिर से बनाता है.