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

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

शुरू करने के लिए तय किया गया डेस्टिनेशन

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

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

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

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

बैक स्टैक में बदलाव करने वाले ऑपरेशन, हमेशा स्टैक के सबसे ऊपर काम करते हैं. ये ऑपरेशन, स्टैक के सबसे ऊपर नया डेस्टिनेशन जोड़कर या सबसे ऊपर मौजूद डेस्टिनेशन को हटाकर काम करते हैं. किसी डेस्टिनेशन पर नेविगेट करने पर, वह डेस्टिनेशन स्टैक में सबसे ऊपर चला जाता है.

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

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

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

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

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

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

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

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

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

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

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

तीसरी इमेज. Sunflower ऐप्लिकेशन में उपयोगकर्ता नेविगेशन और इससे जुड़ा बैकस्टैक.

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

चौथी इमेज. डीप लिंक का इस्तेमाल करने पर, Sunflower ऐप्लिकेशन के मौजूदा बैक स्टैक की जगह नया बैक स्टैक ले लेता है.

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

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

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